2013-07-13 4 views
0

Mac에서 Python을 사용하고 있는데 기본 설치 2.7.2 버전입니다. 내가 현재 디렉토리에있는 파일을 가져올 때 파일에 함수를 호출 할 때 몇 가지 이유를 들어, 성공적으로 가져 오지만, 그것은 나를 제공 : NameError: name 'gcd' is not defined파일 가져 오기 후 Python 이름 오류가 발생했습니다.

이 파일 (lab1.py) 내부의 것입니다 :

def gcd(x, y): 
    if x % y == 0: 
     return y 
    else: 
     return gcd(y, x % y) 

def f(x): 
    return x*x 

프롬프트에 그냥 import lab1을 입력하면됩니다. 성공적으로 가져옵니다. 특히, lab1.py와 함께 디렉토리에 없다면 오류가 발생하므로 올바른 파일을 얻게됩니다. 내가 뭘 놓치고 있니?

답변

2

가져온 전역 이름을 통해 모듈의 이름을 참조해야합니다. 당신이 가져 오는 경우

단지lab1 다음 모듈 객체에 속성으로 해당 모듈의 이름을 참조 :

lab1.gcd(10, 3) 

하거나에서 이름을 모듈 을 가져와야 :

from lab1 import gcd 

을 사용하여 현재 모듈에서 같은 기능으로 참조를 만듭니다. 대체 철자는 다음과 같습니다.

import lab1.gcd as gcd 
+0

오우. 그건 의미가 있습니다. 왠지 나는 파이썬과의 마지막 만남에서 이것을 기억하지 못합니다. –

관련 문제