【Python】我的Python学习笔记【2】【using Python 3】

...

1.

  在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,

  所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

2.

  定义默认参数要牢记一点:默认参数必须指向不变对象!

3.

  Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去。

  1 numsp[1, 2, 3]
  2 fun(*nums)

  *nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。

4.

  关键字参数的使用:

  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)

...

原文地址:https://www.cnblogs.com/forzhaokang/p/4770274.html