में टाइप एनोटेशन का स्व-संदर्भ मैं यह जानने का प्रयास कर रहा हूं कि python3's type annotations के साथ प्रकारों का आत्म-संदर्भ कैसे काम करता है - दस्तावेज़ इस बारे में कुछ भी निर्दिष्ट नहीं करते हैं।पायथन
एक उदाहरण के रूप:
from typing import TypeVar, Optional, Generic
T = TypeVar('T')
class Node(Generic[T]):
left = None
right = None
value = None
def __init__(
self, value: Optional[T],
left: Optional[Node[T]]=None,
right: Optional[Node[T]]=None,
) -> None:
self.value = value
self.left = left
self.right = right
इस कोड त्रुटि उत्पन्न:
Traceback (most recent call last):
File "node.py", line 4, in <module>
class Node(Generic[T]):
File "node.py", line 12, in Node
right: Optional[Node[T]]=None,
NameError: name 'Node' is not defined
यह अजगर 3.5.1
हममम, 'typing' उपलब्ध केवल 3.5 से है। जांचें [3.5 संस्करण का क्या नया] [https://docs.python.org/3.5/whatsnew/3.5.html) – thefourtheye
@thefourtheye: मैंने सवाल संपादित किया। मैंने अभी 3.5.1 स्थापित किया है और समस्या अभी भी मौजूद है। 3.4 के साथ काम करने का कारण यह था क्योंकि मेरे पास – LiraNuna