Skip to main content
 首页 » 编程设计

Python函数作为变量之不同数量的参数

2025年05月04日36birdshome

也许是个奇怪的问题。假设我有这样的代码:

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