Python自学教程大纲
小白入门总结——马永亮Python视频1--60讲大纲
程序→模块→语句→表达式
变量是指向内存对象的引用(变量没有类型,对象才有)
变量命名规则
Python命名惯例
语句和语法
标识符
命名惯例
Python文件结构
所有数据皆对象
所有对象都有一个身份(id)、一个类型(type)、一个值(value) ;
所有对象都有引用计数(sys.getrefcount()) ;
对象都是类实例化而来
类:数据(即变量)+方法(即函数)
if boolean_expression1:
suite1
elif boolean_expression2:
suite2
....
else:
else_suite
一般用于非遍历式的,速度比较慢
while boolean_expression:
while_suite
else:
else_suite
用于可遍历式的,速度快
for expression1 in iterable:
for_suite
else:
else_suite
如果某对象在其内部实现了__iter__
或__getitem__
方法,则该对象为可迭代(iterable)对象。
[ expression for iter_var in iterable ]
[ expression for iter_var in iterable if cond_expr]
(expr for iter_var in iterable)
(expr for iter_var in iterable if cond_expr)
next()
.readline(),readlines()
可以直接将python中的原生对象存储到文件中
python中有4种函数:
创建函数
def funtionName(parameters):
suite
函数作用域(名称空间)/变量名解析
参数传递
注意:不要在函数内部去修改可变对象
参数匹配模型
lambda args: expression
是个表达式而非语句,直接返回函数对象
就是把函数当作参数传递给另一个函数,实现函数调用函数
filter(func, seq)
map(func, seq1 [, seq2 ...])
from functools import reduce
reduce(func, seq1 [, init])
在函数中使用yield,会返回一个生成器对象
本身也是一个函数
功能:增强被装饰函数的功能
使用@
符号进行调用
自己调用自己
组成:边界条件,递归前进段,递归返回段
python既可以面向过程,也能够面向对象。
1、依赖(“uses-a”)
2、聚合(“has-a”)
3、继承(“is-a”)
class ClassName(bases):
'class documentation string'
data = value #定义数据属性
def method(self, ...): #定义方法属性,可调用
self.meber = value
类中每个方法必须具有self参数,它隐含当前实例之意
object.attr
.__dict__
或 dir()
__dict__, __name__, __doc__, __bases__, __module__, __class__
object.method()
每一个类都有一个称为构造器的特殊方法——__init__
隐性地为实例提供属性
__del__
销毁一个实例
实例仅拥有数据属性(严格来说,方法是类属性)
通常通过构造器__init__
为实例提供的属性
class SubClassName(ParentClass1 [, ParentClass2, ...]):
'optional class documentation string'
class_suite
issubclass()
isinstance()
hasattr()
super()
在方法中拦截内置的操作,重新定义
python模块其实就是python的程序文件(.py)
import module1 [, module2 [,... moduleN]]
import module as module_alias
form module import name1 [, name2 [, ... nameN]]
import时会执行3个步骤
sys.path
将一组模块归并到一个目录中,此目录即为包
import dir1.dir2.mod1 #包名.子包名.模块名
顶层执行
作为顶层文件
内置属性__name__
的值为 __main__
被导入
作为模块文件
内置属性__name__
的值为模块名
使用disutils
发布模块
python的运行时发生的错误称作异常
通过try
语句检测
try-except
:检测和处理异常try-finally
:仅检查异常并做一些必要的清理工作try-except-finally
格式:raise [SomeException [, args [, traceback]]]
class CustomAttributeError(CustomException, AttributeError):
pass
在程序中引入调试代码,实现手动触发异常
简化版的自定义异常方式
assert condition [, expression]
启动解释器的命令行参数:python [option] [-c cmd| filename | - ] [args]
内置函数help()
或对象的默认方法__doc__
可显示
基于文档对程序本身做测试
if __name__ == '__main__':
import doctest
doctest.testmod()
--完--
附:本文思维导图版:https://mp.weixin.qq.com/s?__biz=MzI2ODU3MDE0NQ==&mid=2247483873&idx=1&sn=2e50e9c2c04a0607711bdf3d3d7f2a88&chksm=eaecdaafdd9b53b95d6c3b75ada25090e70c1b6c1a0d73b3a2ca7b1ccedb47c592a8989b6f7a&token=2117383101&lang=zh_CN#rd