…
函数
传递参数
- 必备参数
- 关键字参数
- 默认参数
- 不定长参数
必备参数(位置参数)
默认参数
默认参数必须指向不变对象!
1 | def power(x, n=2): |
1 | #L[]是可变对象,每次调用会改变值,因此使用None加锁 |
不定长参数(可变参数)
1 | def calc(*numbers): |
关键字参数
可以传入数量不定的dict参数
1 | def person(name, age, **kw): |
指定关键字参数,命名关键字参数需要一个特殊分隔符*
,*
后面的参数被视为命名关键字参数。
1 | def person(name, age, *, city, job): |
如果已有可变参数,后面的参数就自动被设为指定关键字参数
1 | def person(name, age, *args, city, job): |
高级特性
切片
使用形如[:]
的语句来执行索引范围的操作
- 支持倒数切片
迭代
使用Iterable
列表生成器
- 可以使用多重循环