是否可以附加到默认函数参数或从外部获取函数参数的值?
例如:
def foo(bar, foo="baz"):
print(bar, foo)
foo("hello", "world") # print "hello world"
foo("hello", foo="world") # print "hello world" as well
foo("hello") # print "hello baz"
foo("hello", foo<append it>"bla") # how? want to print "hello bazbla"
print("default value of foo's foo parameter:", [magic here])
我不认为这是一个很好的做法,但我很好奇。
答案 0 :(得分:1)
>>> foo.__defaults__
('baz',)
__defaults__
属性
是documented here。
因此,要使用默认值更改foo参数,可以使用字符串格式:
foo("hello", foo="{}bla".format(foo.__defaults__[0]))