[PYTHON] 파이썬 : NameError : 전역 이름 'foobar'가 정의되지 않았습니다.
PYTHON파이썬 : NameError : 전역 이름 'foobar'가 정의되지 않았습니다.
나는 다음과 같은 반을 썼다.
class myClass(object):
def __init__(self):
pass
def foo(self, arg1, arg2):
pp = foobar(self, arg1, arg2)
if pp:
return 42
else
return -666
def foobar(self, arg1, arg2):
if arg1 == arg2:
return 42
else:
return None
논리는 무의미합니다. 무시하십시오. 내가하려고하는 것은 다른 인스턴스 메서드에서 인스턴스 메서드를 호출하는 것입니다. 그리고 NameError를 얻고 있습니다. 나는 이것이 원래 정의되기 전에 foobar ()를 호출하는 foo ()에 의한 것이라고 생각했지만, 스크립트에서 함수 정의의 순서를 바꾸어도 아무런 차이가 없었다.
이 오류의 원인과 해결 방법은 무엇입니까?
해결법
-
==============================
1.파이썬은 코드를 로컬 클래스에 자동으로 범위 지정하지 않습니다. 당신은 그것에 말할 필요가 있습니다.
파이썬은 코드를 로컬 클래스에 자동으로 범위 지정하지 않습니다. 당신은 그것에 말할 필요가 있습니다.
pp = self.foobar(arg1, arg2)
http://docs.python.org/tutorial/classes.html
from https://stackoverflow.com/questions/4068785/python-nameerror-global-name-foobar-is-not-defined by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 이중 밑줄이있는 Python 메서드 이름이 재정의됩니까? (0) | 2018.10.14 |
---|---|
[PYTHON] 파이썬에서 문자열에서 날짜 추출하기 (0) | 2018.10.14 |
[PYTHON] 파이썬 3.3의 해시 함수는 세션간에 다른 결과를 반환합니다. (0) | 2018.10.14 |
[PYTHON] Python2.x에서 print () (함수 버전) 사용하기 (0) | 2018.10.14 |
[PYTHON] Tkinter로 GIF 애니메이션 재생 [duplicate] (0) | 2018.10.14 |