〖 语法和语句 〗
赋值语句的形式
序列赋值 序列解包
print函数原型
if/else三元表达符
Python的while语句或者for语句可以带else语句 当然也可以带continue/break/pass语句
while a > 1: ......else: ......# else语句会在循环结束后执行,除非在循环中执行了break,同样的还有for语句for i in range(5): ......else: ......
for循环的元组赋值
列表解析语法
生成器表达式
文档字符串:出现在Module的开端以及其中函数或类的开端 使用三重引号字符串
"""module document"""def func(): """ function document """ print()class Employee: """ class document """ print()print(func.__doc__) # 输出函数文档字符串print(Employee.__doc__) # 输出类的文档字符串
命名惯例
"""以单一下划线开头的变量名(_X)不会被from module import*等语句导入前后有两个下划线的变量名(__X__)是系统定义的变量名,对解释器有特殊意义以两个下划线开头但不以下划线结尾的变量名(__X)是类的本地(私有)变量"""
列表解析 in成员关系测试 map sorted zip enumerate内置函数等都使用了迭代协议
'first line' in open('test.txt') # in测试 返回True或Falselist(map(str.upper, open('t'))) # map内置函数sorted(iter([2, 5, 8, 3, 1])) # sorted内置函数list(zip([1, 2], [3, 4])) # zip内置函数 [(1, 3), (2, 4)]
del语句: 手动删除某个变量
del X
获取列表子列表的方法
小手动迭代:iter和next
L = [1, 2]I = iter(L) # I为L的迭代器I.next() # 返回1I.next() # 返回2I.next() # Error:StopIteration
Python中的可迭代对象
"""1.range迭代器2.map、zip和filter迭代器3.字典视图迭代器:D.keys()), D.items()等4.文件类型"""
函数语法规则
函数相关的语句和表达式
Python函数变量名解析:LEGB原则
"""local(functin) --> encloseing function locals --> global(module) --> build-in(python)说明:以下边的函数maker为例 则相对于action而言 X为Local N为Encloseing"""
嵌套函数举例:工厂函数
嵌套函数举例:lambda实例
nonlocal和global语句的区别
函数参数,不可变参数通过“值”传递,可变参数通过“引用”传递
可变参数匹配: * 和 **
函数调用时的参数解包: * 和 ** 分别解包元组和字典
函数属性:(自己定义的)函数可以添加属性
函数注解: 编写在def头部行 主要用于说明参数范围、参数类型、返回值类型等
匿名函数:lambda
lambda函数与map filter reduce函数的结合
生成器函数:yield VS return
生成器表达式:小括号进行列表解析
本地变量是静态检测的
函数的默认值是在函数定义的时候实例化的 而不是在调用的时候
领取专属 10元无门槛券
私享最新 技术干货