1、不定参数
2、默认参数
默认参数的值仅仅在函数定义的时候赋值一次
x = 42 def spam(a, b=x): print(a, b) spam(1) # 1 42 x = 23 # 改变 x 的值的时候对默认参数值并没有影响 spam(1) # 1 42
默认参数的值应该是不可变的对象,比如 None、True、False、数字或字符串
def spam(a, b=[]): # error []、{} 等为可变对象
此时,可以试用None作为默认值,然后在函数里面检查它,给予相应的默认值
def spam(a, b=None): if b is None: b = []
时间: 2024-11-06 11:33:06