2013-06-05 3 views
0

클래스 변수를 말하면 class FooFoo 개체가 될 수 있습니까?클래스 변수가 클래스의 인스턴스가 될 수 있습니까?

예를 들어, 11 번째 유한 필드에 대한 클래스를 작성하려고하는데 선택한 생성기 (2)가이 클래스와 인스턴스로 연결되기를 원합니다.

내가 염두에두고 :

class FiniteField11: 
    generator = FiniteField11(2) 

    def __init__(self, element): 
     self.elt = element 

것은이 컴파일되지 않습니다; 나는 NameError: name 'FiniteField11' is not defined입니다. 여기에 닭고기 또는 계란의 첫 번째 문제가 있다는 것을 알고 있지만, 내가 원하는 것을 성취 할 수있는 방법이 있습니까?

죄송 합니다만 중복되었지만 찾을 수 없습니다.

답변

3

당신은 같은 것을 할 수 있습니다 클래스 (고화질) 구문 분석 할 때 FiniteField11가 정의되지 않았기 때문에

class FiniteField11: 
    def __init__(self, element): 
     self.elt = element 
FiniteField11.generator = FiniteField11(2) 

귀하의 코드가 실패합니다.

1

예, 가능하지만 이름이 클래스 문이 완료 될 때까지 존재하지 않습니다. 따라서 클래스를 생성 한 후에 클래스 블록 바로 아래 또는 인스턴스 초기화 프로그램에서이 클래스 변수를 설정해야합니다.

관련 문제