数值章节
整数(int) | 浮点数(float) |
---|---|
长度无限,不能有小数点 | 可以有小数点,但有精度误差 |
Decimal 实现高精度十进制运算,接收字符串形式的数字,保证使用float类型可以不出错
还可以用round(x,2)和format(x,“0.3f”)等格式处理数字
逻辑运算
True | False |
---|
时间与日期的表示和运算
用整数保存时间,用time和datetime等模块处理
Type | isinstance |
---|
判断类型
容器
变量的内存分布
id函数 | is关键字 |
---|---|
可变类型(列表,集合,字典) | 不可变类型(元组,逻辑,字符串等) |
深拷贝与浅拷贝 | 可变类型不能做函数参数 |
可迭代对象
常见容器 | range对象 | 迭代器 | 生成器等 |
---|
文本
字符编码原理,解决方案:decode与encode
造成乱码的原因
bytes对象
转义字符与特殊字符
正则表达式
模块结构
将.py保存为包
第三方模块的实质:lib目录下的py文件
模块之间相互调用的过程
if 双下划线__name__双下划线==‘双下划线__main__双下划线’:
对象
类、对象、属性、方法、初始化
私有属性或方法的本质
封装:将同一事物的内容放入同一对象,作为属性和方法
继承:子类自动拥有父类的方法,不必重复定义
多态:只要拥有同一方法,就可以被视为同一类型调用
Python中可以动态添加属性方法
函数
函数也是一种数据类型,可以赋值给变量
高阶函数:将其他函数作为参数并调用,如map和reduce
lambda表达式:一行代码定义匿名函数
函数内部可以创建新函数,装饰器模式
递归:自己调用自己,实质为创建自身拷贝
小结
经过了两个多月的学习,杨老师Python课的基础篇与提高篇已经学习完了。
这次学习,每学一课,就跟着做杨老师布置的习题,进行巩固,可以说是有收获的。基础知识积累,对写代码的一个灵敏程度,都算有了长足的进步。如果现在让我去做做学校期末考试的Python题,拿个90+应该不是什么问题了。
当然,仅仅局限于期末考试的难度,那就有点太短视了。
不过学得越多,自己反而越迷茫。因为接触到的内容丰富了,知道自己还有哪些知识不熟,哪些知识不会,还有多少个未经自己了解的领域等着去摸索,所以会感慨,通过网课自学这种方式,本科阶段就应该巩固充实,而不是等到成为准研究生才来补以前的烂账。因为有些东西,每个阶段都应该有每个阶段所对应的任务。
话虽如此,还是得积极乐观一点。暑假的时候如果没有pre-master阶段的任务,那就继续学习Python吧。一个是学习杨老师到时候可能上架的实战篇,另一个是基于现在的基础,去看看其他老师的课程作为补充,多写写相关的项目代码,或者可以去刷刷LeetCode上面的习题。