Python中函数的可选参数

时间:2016-04-03 08:27:13

标签: python arguments optional

如果我尝试给一个函数一个可选参数,这样就不起作用了:

def speed(self, max, now):
    self.min = 0
    self.max = max
    if now != None:
        self.now = now
    else:
        self.now = 0
    return self.max, self.now

有人可以帮我理解这个以及如何做得更好吗? 我真的需要if声明吗?也许有一种更容易,更快捷的方式来进行某种特殊的论证?

1 个答案:

答案 0 :(得分:2)

在省略时使用default argument valuenow设置为0

def speed(self, max, now=0):
    self.min = 0
    self.max = max
    self.now = now
    return self.max, self.now

现在调用者可以简单地省略为now参数指定值:

some_instance.speed(42)

会将now设置为0