...
1.
在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,
所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
2.
定义默认参数要牢记一点:默认参数必须指向不变对象!
3.
Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去。
代码语言:javascript复制 1 numsp[1, 2, 3]
2 fun(*nums)
*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
4.
关键字参数的使用:
代码语言:javascript复制 1 def print_person(name, age, **kw):
2 print('name:', name, 'age:', age, 'other:', kw)
3 print_person('Bob', 35, city='Beijing')
5.
返回闭包时牢记的一点就是:返回函数不要引用任何循环变量,或者后续会发生变化的变量。
6.
默认情况下,dict迭代的是key。如果要迭代value,可以用 for value in d.values() ,
如果要同时迭代key和value,可以用 for k, v in d.items() 。
7.
给实例绑定一个方法: >>> def set_age(self, age): # 定义一个函数作为实例方法 ... self.age = age ... >>> from types import MethodType >>> s.set_age = MethodType(set_age, s) # 给实例绑定一个方法 >>> s.set_age(25) # 调用实例方法 >>> s.age # 测试结果 25
为了给所有实例都绑定方法,可以给class绑定方法: >>> def set_score(self, score): ... self.score = score ... >>> Student.set_score = MethodType(set_score, Student)
...