2016-04-03 27 views
-1
功能可選參數

如果我試圖給一個函數的可選參數,這樣就不會工作:在Python中

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語句嗎?也許有一種更加簡單快捷的方式來進行某種特殊的論證?

+0

它在官方教程的很早一步:[Default Argument Values](https://docs.python.org/3/tutorial/controlflow.html#default-argument-values)。 – Matthias

回答

2

使用default argument value設置now0省略時:

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