2017-10-06 20 views
0

Python 3.6의 클래스 속성에 대한 힌트를 사용하는 코드에서 객체 그래프를 작성하려고합니다. 내가 "나가서 설명하자면 NameError 받기를하려고하면클래스의 변수 주석

class MyObject: 
    parent: MyObject = None 

:

class MyObject: 
    some_variable: float = 1.2 

내 문제는 내가 이런 유형을 MyObject이있는 속성을하고 싶은 것입니다 : 일반적으로이 같이 이름을 'MyObject를 주석에 대해이 작업을 수행하려고하면 '정의되지 않음'입니다. 이것은 주석이 정의 될 때 MyObject가 완전히 존재하지 않기 때문에 현재 성공할 수없는 지원되지 않는 가장자리 케이스처럼 보입니다.

class MyObject: 
    parent: MyObject = None 

답변

1

이 수행 할 수 있습니다

0

이것은 당신이로을 MyObject를

class MyObject: 
    pass 

와 MyObject를 정의하고 재정의 할 수 해키 것으로 보인다 아마도이 작업을 수행하는 바람직한 방법은 아니지만, forward references을 사용하십시오. 코드는 다음과 같습니다.

class MyObject: 
    parent: 'MyObject' = None