2011-03-04 4 views
0

두 가지 방법 New()Edit() 및 몇 가지 문을 가진 make() 다른 방법이 있습니다 .. New()Edit()make() 호출하지만 호출 메서드가 new() 경우 make() 건너 뛰려는 일부 문이 있습니다. 아래 예제를 보자.파이썬, 메소드의 조건 일 경우

def new(): 
make() 


def edit(): 
make() 


def make(): 
    statement 1 
    statement 2 
    statement 3 not to be executed if calling method is new() 

이것을 파이썬에서 구현할 수 있습니까?

+0

을, 그'pass' 문은 중복입니다. – detly

+0

@detly! 아주 사실, 나는 그들을 제거했다. – shaz

답변

4

예 - 진술서 3을 edit()에 넣으십시오. 다른 일을 make()를 호출 문 3을 실행하는 기본 동작을 지정하는 키워드 인수를 사용할 수 있도록하기 위해서는

또한, 상기 방법에 의해

def new(): 
    make(skip=True) 

def edit(): 
    make() 
    # OR: make(skip=False) 

def make(skip=False): 
    statement 1 
    statement 2 
    if not skip: 
    statement 3 

# Previously written invocations of make() don't have to change now 
관련 문제