2012-06-25 104 views
0

我知道我可以在python中定義默認參數,但是我可以使用對象嗎?Python中的對象的默認參數

例如,我想用p.expect對象的工作:

def exitDevice(ip, m='', sendExit=True): 
    if sendExit: 
     m.send('exit') 

    print "left device", ip 

是正確的方式來處理傳入的Python中的默認參數的對象?如果不是,人們如何做?或者如果這是正確的,是否有更好的方法呢?

回答

4

這是一個有點棘手,因爲默認值已在你的代碼解析的時間來定義,但你總是可以做這樣的事情:

def exitDevice(ip,m=None,sendExit=True): 
    if m is None: m = getDefaultValueForM() 
    if sendExit: m.send ('exit')