当前位置: 首页 > 知识库问答 >
问题:

输入提示PyCharm内部使用的类[重复]

姬向明
2023-03-14

如何在类本身中正确地键入类?在PyCharm中,我当前遇到以下错误:

这是一个未解决的引用错误。这通常是有意义的,因为我不期望PyCharm完美地支持类型。但是,当我使用它在其他类除了项目类本身没有错误:

因此,我认为只有在类型提示在其自己的类中提供时,才会出现错误。所以我不知道该怎么做来防止这个错误,或者我是否使用了错误的类型,并且类型本身不应该被使用。

基本上,我试图模仿的行为是,您有一个项目的工艺配方,可以使用配方函数创建该项目的新实例。

共有1个答案

高修筠
2023-03-14

将类用作该类内的类型时,或在尚未完全定义该类型的任何位置,需要在注释中用单引号或双引号括起该类型:

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/对此有所改进。

 类似资料:
  • 我最近阅读了这篇关于使用数组作为函数输入的文章,只是想知道是否可以使用类型提示来暗示数组是的数组? 例如:

  • 主要内容:将文件更改为特定的更改列表,显示一个类中所有用法的列表,查找操作的菜单命令,通过代码运行检查,指定设置列表,运行/调试脚本文件PyCharm在启动过程中提供了各种提示,帮助用户了解其功能和操作。 它还包含一些强制理解的捷径。 在本章中,您将看到一些重要的PyCharm技巧。 将文件更改为特定的更改列表 本技巧演示了如何根据用户的选择将文件更改为特定更改列表。 这有助于根据版本控制系统设置管理存储库。 观察下面的截图以便更好地理解 - 显示一个类中所有用法的列表 此功能显示项目中特定类别

  • 问题内容: 我想知道是否可以在Chrome和Firefox中显示刻度线以输入数字?我在这个问题上能找到的最接近的东西是这个。 问题答案: 当涉及到样式时,输入范围仍然有些噩梦。这就是说,在各大浏览器中显示刻度线 是 可能的,有点苦劳和浏览器的特定解决方案。 Internet Explorer / Edge 如您所知,默认情况下,如果添加HTML 属性,Internet Explorer将显示刻度。

  • 我正试着做一个三元,正如你们在下面看到的(不起作用),惊讶地发现我找不到这么好的答案。在react中,对html标记内的属性执行三元计算的正确方法是什么?如果id==1,我只需要添加

  • 问题内容: 我遇到一种情况(在硒测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全密码,然后才能继续操作。 我不太确定如何获得用户输入的值。我浏览了硒文档,并提出了这个建议。不幸的是,它并不是很有效。 有人可以指出我正确的方向吗? 问题答案: 似乎您必须先接受并关闭提示,然后才能存储和使用该值

  • 问题内容: 我有一种情况(在selenium测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全代码,然后才能继续操作。 我不太确定如何获得用户输入的值。我浏览了selenium文档,并提出了这个建议。不幸的是,它并不是很有效。 有人可以指出我正确的方向吗? 问题答案: 似乎您必须先接受并关闭提示,然后才能存储和使用该值