2012-06-25 5 views
0

파이썬에서 기본 매개 변수를 정의 할 수 있지만 오브젝트로 그렇게 할 수 있습니까?오브젝트가있는 파이썬의 기본 매개 변수

예를 들어

, 나는 p.expect 객체로 작업하고 싶습니다 :

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

    print "left device", ip 

인가 그 파이썬에서 기본 인수로 전달 된 객체를 처리하는 올바른 방법은? 그렇지 않다면, 어떻게 그렇게합니까? 또는 이것이 정확하다면 그렇게 할 수있는 더 좋은 방법이 있습니까?

답변

4

기본값이 코드가 구문 분석시 정의 할 수있다, 그러나 당신은 항상 같은 것을 할 수 있기 때문에 그것은 조금 까다로운 :

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