忽略传递的参数

时间:2015-03-28 15:11:25

标签: python methods arguments

是否可以忽略方法中传递/覆盖的参数?

这是我想要做的事情的一个例子:

def event_handler(one, two):
   print(one)
   print(two)

在另一个地方:

event_handler(one, two, three)

我的意思是第三个参数是可选的。我已经尝试过Python Fiddle,但没有错误就行不通。

2 个答案:

答案 0 :(得分:3)

使第三个成为默认参数

def event_handler(one, two, third = None):

然后进行错误处理,但因为它是默认的,所以很容易。

def event_handler(one, two, third = None):
   print(one)
   print(two)
   if (three):
        print(three)

答案 1 :(得分:2)

将变量参数与*args一起使用。

def f(*args): pass

args[0]之类的列表访问vars,... 或者,

def f(required_arg1, required_arg2, *optional_args): pass