函数定义小贴士
在函数赋值的时候 最好 不要讲函数默认值定义为一个具体引用变量 要不然这个值会越变越大
def a(x=[]):
print(x.append(1)) # 这样做每次调用的时候都会想同一个列表里添加1 因为x是公用同一块内存单元的
a() # [1]
a() # [1, 1]
a() # [1, 1, 1]
def a (x = None) # 这样就可以避免上述问题
if x is None:
x = []
print(x.append(1))
x = a # 不加括弧是直接在使用函数的引用名
x = a() # 加括弧赋值的是函数的返回值
没有返回值的函数返回的是None
高内聚 函数用途固定 低耦合 函数和别的函数尽量不要有依赖