2016-11-18 3 views
1

글로벌 x는 글로벌 변수 을 만들거나 기존 'x'변수를 글로벌 변수로 지정한다는 의미입니까?가변 범위 및 전역 변수

def evaluate_expression_1(x): 
    x = x - 3 

    def evaluate_expression_2(): 
     global x 
     return x + 7 

    return evaluate_expression_2() 
# Main Program # 
x = 7 
print(evaluate_expression_1(x)) 

출력이 18. 대신 14가됩니다. 논리가 무엇입니까? (18)을 얻으려면 코드
global x 라인

답변

0

, x는 18 얻으려면 코드
global x 라인없이 11
을해야 x는 14
대답이 코드를 기대한다 뺀 global x 문이 있어야한다 11
global x 문은 나중에 정의 된 x 버전을 사용합니다.
직접 확인하려면 이름 변경 후 x의 기능을 수행 한 후 n