也许是个奇怪的问题。假设我有这样的代码:
def foo():
print "Foo"
def bar(x):
print x
func = foo
func()
func = bar
arg = 'a'
func(arg)
有没有一种方法可以有一个“空”参数,这样我就可以调用 assign foo() 给 func,然后仍然调用 func(arg)?
不仅仅是像
这样的解决方法if arg is None:
func()
else:
func(arg)
请您参考如下方法:
当然,如果你使用元组/列表和 argument unpacking .
def foo():
print "Foo"
def bar(x):
print x
args = ()
func = foo
func(*args)
func = bar
args = ('a',)
func(*args)
结果:
Foo
a
