python-3.x - 键入提示 PyCharm 自身内部使用的类
问题描述
我如何在其自身中正确键入一个类?在 PyCharm 中,我目前收到此错误:
这是一个未解决的参考错误。这通常是有道理的,因为我不希望 PyCharm 完美地支持类型。但是,当我在除Item
类本身之外的其他类中使用它时,没有错误:
因此,我相信只有在其自己的类中提供类型提示时才会出现错误。所以我不知道究竟要做什么来防止这个错误,或者我是否使用了错误的类型,并且不应该在其自身中使用类型。
基本上我试图模仿的行为是你有一个物品的制作配方,并且可以使用配方功能创建该物品的新实例。
解决方案
当使用一个类作为该类内部的类型时,或者该类型尚未完全定义的任何地方,您需要在注释中将类型括在单引号或双引号中:
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/
(基于字符串的提示)
编辑:PEP 563:https ://www.python.org/dev/peps/pep-0563/对此进行了改进。
推荐阅读
- html - 文本背景不受文本大小和居中影响
- javascript - 我的 w3 Accordion 菜单没有在 google chrome 中展开?
- android - 同时访问相机
- java - MyBatis sqlMapGenerator 自动生成的问题
- javascript - 如何在将 html5 视频上传到服务器之前对其进行剪切
- regex - 在 tex 的不同行上匹配多个正则表达式组以打印到 csv
- python - 使用 selenium 解决导入问题
- pandas - 熊猫数据框列 - 如何根据多个条件选择列的子集
- flutter - Flutter PageView - 动画颜色所以当前项目是彩色的,其余的是黑色和白色
- html - 将简单 XML 输出为 HTML 表的 XSLT?