모듈 내에서 클래스를 만들고 해당 모듈 파일을 내 컨트롤러로 가져온 다음 해당 모듈 내에서 정의 된 클래스를 참조하려고하지만 읽는 메시지가 계속 나타납니다. 여기 NameError("name 'self' is not defined")
web2py에서 사용자 정의 클래스를 만드는 방법
내 코드 내 생성 모듈에 있습니다
from gluon import *
class device_info(object):
self.info = {}
def __init__(self, info):
self.info = info
return
def setInfo(info):
self.info = info
return
def getInfo():
return self.info`
사람이 발생하고 그것이 어떻게 해결 될 수 있는지 알고 있나요? 나는 web2py에서 사용자 정의 클래스가 지원되었다는 인상을 받았다.
'self.info = {}'를'__init__ '에 넣으십시오. 'self '를 마법 키워드로 생각하지 마라. 그것의 또 하나의 논쟁이다. 그것은 입력으로 받아 들여지는 메서드 밖에서 정의되지 않는다. (예 :'__init__') – Anonymous
와우 ... 고마워요. @jphollowed –
나는 Python에 비교적 익숙하지 않고 Java로 시작되었습니다. 나는'self'가'this'의 Python 버전이라고 가정합니다. @jphollowed –