假设我有一个Directory
接受其他子目录列表作为参数的类:
class File:
pass
class Directory:
def __init__(self, directories: List[Directory], files: List[File]):
^^^^^^^^^
self.directories = directories
self.files = files
我收到一条错误消息"Directory" is not defined
。如果我不传递类型,这段代码就可以正常工作,但是你如何在 python 中处理这个用例?
您需要的是递归类型定义。这可以在 Python 中通过提供类型名称的字符串而不是类型本身来实现。
class File:
pass
class Directory:
def __init__(self, directories: List['Directory'], files: List[File]):
self.directories = directories
self.files = files
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句