我將如何在 python 中正確執行以下操作?
class AnyType:
def __init__(self, Type:Union[PrimitiveType, ComplexType]):
self.Type = Type
class PrimitiveType(AnyType):
def __init__(self, Type):
super().__init__(Type)
class NestedType(AnyType):
def __init__(self, Type):
super().__init__(Type)
NameError:未定義名稱“PrimitiveType”
我知道在 C 中有一個前向宣告,但是如何防止在 python 中出現以下回圈參考?
uj5u.com熱心網友回復:
有一個PEP描述了這種特性。如果您使用 python3.7 ,您可以from __future__ import annotations在開頭添加它應該可以作業。在其他情況下,使用字串可以解決問題
class AnyType:
def __init__(self, Type:Union["PrimitiveType", "ComplexType"]):
self.Type = Type
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/532107.html
下一篇:基類和繼承類名稱/前綴
