如何在自身中正确键入类?在PyCharm中,我目前遇到此错误:
这是一个未解决的参考错误。通常这很有意义,因为我不希望PyCharm完美支持类型。但是,当我在Item
类本身以外的其他类中使用它时,没有错误:
因此,我相信仅当在其自己的类中提供类型提示时才会出现错误。因此,我不知道该怎么办才能防止此错误,或者我一般不会使用错误的类型,并且不应该在内部使用类型。
基本上,我试图模仿的行为是您拥有一个商品的手工配方,并且可以使用配方功能创建该商品的新实例。
答案 0 :(得分:2)
在将一个类用作该类内的类型或尚未完全定义该类型的任何地方时,您需要在注释中用单引号或双引号将该类型引起来:
class Item:
...
def craft(self, substrates: List['Item'], amount: int) -> List['Item']:
...
来源:
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/
(基于字符串的提示)