修改函数默认值

def func(a, b=9, c=33):
    print(a, b, c)


func(98)  # 98 9 33
func.__defaults__  # (9, 33)
func.__defaults__ = 125, 620
func.__defaults__  # (125, 620)  修改了 b c 的默认值
func(98)  # 98 125 620

func.__defaults__ = 8866  # TypeError: __defaults__ must be set to a tuple object
func.__defaults__ = 8866,
func.__defaults__  # (8866,)
func(98)  # TypeError: func() missing 1 required positional argument: 'b'
func(98, 'Hello')  # 98 Hello 8866
# c的 默认值 被修改成了 8866

  

posted @ 2024-01-24 13:27  sangern  阅读(2)  评论(0编辑  收藏  举报