클래스 내에서 호출 유형 (dict) 함수 나는 다른 클래스에서 호출되는 .keys() 또는 .values ()와 같은 함수에 해당하는 클래스를 만들고 클래스 변수를 정의하려고합니다. 변하기 쉬운.클래스 변수 (파이썬 3.4)
class DATA(object):
def __init__(self, id, database = {}):
self.id = id
self.database = database
self.addresses = database.keys()
self.data = database.values()
것은이 내가 클래스
foo = DATA(0,{"a":1,"b":2})
의 인스턴스를 만들 때와 같이 작업 한 후 요청하지 않는 것 :
print(foo.addresses)
>>> []
하고 다시 준다 예를 들어 빈 목록.
참고 : 나는 모든 클래스 인스턴스의 빈 사전으로 시작 내 실제 프로그램에
후 나중에 나는 사전에 추가하는 함수를 사용합니다. 이 경우 ".database"는 여전히 작동하지만 ".addresses"는 호출하지 않습니다.
누구든지이 문제를 해결할 수 있습니까?
나를 위해 작동합니다. – Joel
@Brandon Gomes : 당신이 '다음에 묻는다'라고 말할 때 - 실제로 어떤 단계가 존재합니까? 실제로'foo = DATA (0, {})'로 시작하고 나중에 DATA.database를 변경 했습니까? –