如何在其内部正确键入一个类?在 PyCharm 中,我当前收到此错误:
这是一个未解决的参考错误。这通常是有道理的,因为我不希望 PyCharm 完美支持类型。但是,当我在除课程之外的其他课程中使用它时Item
类本身没有错误:
因此,我相信仅当在其自己的类中提供类型提示时才会出现错误。所以我不知道到底要做什么来防止这个错误,或者我是否使用了错误的类型,并且类型不应该在其自身内部使用。
基本上,我试图模仿的行为是,您有一个项目的制作配方,并且可以使用配方函数创建该项目的新实例。
当使用类作为该类内部的类型或该类型尚未完全定义的任何地方时,您需要在注释中将该类型用单引号或双引号引起来:
class Item:
...
def craft(self, substrates: List['Item'], amount: int) -> List['Item']:
...
Sources:
https://www.python.org/dev/peps/pep-0484/#forward-references https://www.python.org/dev/peps/pep-0484/#forward-references
https://blog.jetbrains.com/pycharm/2015/11/python-3-5-type-hinting-in-pycharm-5/ https://blog.jetbrains.com/pycharm/2015/11/python-3-5-type-hinting-in-pycharm-5/
(基于字符串的提示)
Edit:PEP 563:https://www.python.org/dev/peps/pep-0563/ https://www.python.org/dev/peps/pep-0563/对此进行了改进。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)