零基础学 Python(2018 版)
尹会生
前游戏公司技术总监,前新浪网技术经理
80141 人已学习
新⼈⾸单¥68
课程目录
已完结/共 72 讲
第一章 :Python介绍和安装 (3讲)
第二章 :Python基础语法 (3讲)
第四章 :条件与循环 (5讲)
第五章 :映射与字典 (2讲)
第六章 :文件和输入输出 (2讲)
第七章 :错误和异常 (1讲)
第九章 :模块 (1讲)
第十章 :语法规范 (1讲)
第十一章 :面向对象编程 (4讲)
第十二章 :多线程编程 (2讲)
第十六章 :综合案例 & 结课测试 (1讲)
特别放送 (1讲)
零基础学 Python(2018 版)
登录|注册
留言
9
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 32 | 自定义上下文管理器
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | Python语言的特点
02 | Python的发展历史与版本
03 | Python的安装
04 | Python程序的书写规则
05 | 基础数据类型
06 | 变量的定义和常用操作
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与search的区别
46 | 正则表达式库替换函数sub()的实例
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹操作
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumPy安装
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代码
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式get和post
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链接
68 | Beautiful Soup的安装和使用
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下载图片
强势回归:零基础学Python2022版来啦!
71 | 如何分析源代码并设计合理的代码结构&结课测试
本节摘要

课程源码、课件及课后作业地址:

https://gitee.com/geektime-geekbang/geekbangpython

登录 后留言

全部留言(9)

  • 最新
  • 精选
此间的少年
坚持到今天啦 go on

作者回复: 加油💪

2018-10-26
5
乐途
老师,函数章节的作业答案第一题,看不明白: # 1. 创建一个函数,用于接收用户输入的数字,并计算用户输入数字的和 def func1(): two_num = input('请输入两个数字,用空格做分隔:') # 检查用户输入是否合法 func2(two_num) num1, *_, num2 = list(two_num) print(int(num1) + int(num2)) def func2(check_number): pass func1() 我理解是,老师特意把fun2做pass,是为了让我们编写,当用户输入错误,比如输入的不是数字时,提示用户重新输入数字。 但是fun1 里,如果用于输入的个位数,则函数是成立的。 当用户输入两位数 ,比如 10 20,list(two_num)就是【1,0, ,2,0】, num1, *_, num2 = list(two_num) 结果就是 mun1=1, mun2=0 这样出来的结果就不对了, 所以想不明白,望老师解答

作者回复: 您好, 这里是不太严谨,应该要求输入两个个位数或改写list为两位甚至更多位处理,感谢指正

2020-04-30
Fergus
# -*- coding: utf-8 -*- """ Created on Mon Jan 14 16:23:52 2019 @author: chen.huaiyu """ #1 创建一个函数,用于接收用户输入的数字,并计算用户输入数字的和 from functools import reduce a_list = [] def add(x, y):     return x+y try:     while True:         a = input('请输入数字:')         if a == '':             break         else:             a_list.append(int(a))             print(reduce(add, a_list))         except Exception as e:     print('注意:请输入数字 %s' %e) #2 创建一个函数,传入Ñ个整数,返回其中最大的数和最小的数 b_list = [] def compare(*args):     print('最大值:%s 最小值:%s' %(max(*args), min(*args))) try:     while True:         b = input('请输入整数:')         if b == '':             break         else:             b_list.append(int)     compare(b_list) except Exception:     print('注意:请输入数字') #3 创建一个函数,传入一个参数N,返回ñ的阶乘 def factorial(x):                      if x == 1:             return 1         elif x == 0:             return 1         else:             return x*factorial(x-1)          try:     while True:         c = input('请输入数字:')         if c == '':             break         else:             print(factorial(int(c))) except Exception as e:     print('注意:请输入数字 %s' %e) ===========分割线============= 老师好,对于第三题,解出n的阶乘,虽然写出来并测试正确了,但从一开始就在担心负数的影响,所以走了弯路,但到最后仍然有这样的疑惑,如果老师能看到,烦请解惑,多谢。

作者回复: 负数没有阶乘啊

2019-01-15
完美坚持
忽然发现,这一个章节中定义的很多函数或者technique,甚至是函数这个概念,我们之所以发明它们,就是因为在实际写代码的过程中,代码大量重复,不够优雅简洁。 它们的作用都是可以让代码更加concise,不仅让写代码更加简洁,而且并没有牺牲可读性,反倒是节省空间,还提高写作和阅读的效率。
2020-08-01
3
完美坚持
上下文管理器和with函数关系密切,这节课程只是简单提了一下,后面细讲
2020-08-01
1
军长吃司令
讲得很好,收获多多
2018-12-18
1
Leolee
总结短小精悍,学会这一个阶段了。 函数的可复用可以大量减少代码量,也会提高可读性,也会更像老师多次强调的“优雅”进发。
2021-04-09
o0oi1i
打卡32
2020-02-24
czhang58
请问使用fact函数为什么会报NameError: name 'fact' is not defined
2019-08-07
收起评论