Skip to main content

函数定义小贴士

在函数赋值的时候 最好 不要讲函数默认值定义为一个具体引用变量 要不然这个值会越变越大

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

高内聚 函数用途固定 低耦合 函数和别的函数尽量不要有依赖