Python的小Tips
2020-03-23 22:55:10
# Python
1. 默认值在 定义作用域里的函数定义中求值
1.1 默认值为不可变对象时,只计算一次
1 | i = 6 |
1.2 默认值为列表、字典或类实例等可变对象时,会产生与该规则不同的结果
例如,下面的函数会累积后续调用时传递的参数:
1 | i = 6 |
如果不想再后续调用之间共享默认值时,可以用如下方式编写函数:
1 | def ff(age,ages=None): |
2. 解包实参列表
函数调用要求独立的位置参数,但实参在列表或元组里时,要执行相反的操作。
例如,内置的range()函数要求独立的 start 和 stop 实参,如果这些参数不是独立的,则要在调用函数时,用 *
操作符把实参从列表或元组解包出来:
1 | print(list(range(3,6))) |