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

2024-03-20

如何在其内部正确键入一个类?在 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(使用前将#替换为@)

键入提示 PyCharm 内部使用的类[重复] 的相关文章

随机推荐

  • WPF 矩形填充水平或垂直线

    我正在尝试创建一个充满水平线或垂直线的矩形 矩形的宽度是动态的 因此我无法使用图像画笔 如果有人知道任何解决方案 请告诉我 我想出了一个直接的方法来做到这一点 最后 我使用以下视觉画笔资源分别用水平 垂直或垂直虚线填充矩形
  • VC++ 中的异常错误 c0000005

    正在开发 VC 控制台应用程序 此应用程序从 Appdata Roaming 文件夹发送文件一段时间 发生的情况是出现此崩溃错误 Problem signature Problem Event Name APPCRASH Applicati
  • 我是否必须在 iOS 的 Objective-C 中保留块?

    我想创建一个方法 它接受一个块 将其保存在成员中 启动异步任务 然后在异步调用进行完成回调时调用该块 我必须保留该块吗 块内存的管理方式是否与任何其他对象相同 我可以合成一个属性来持有该方块吗 块与内存管理的其他对象类似 但又不相同 当创建
  • Xamarin 强迫我下载 Android SDK 和 NDK

    我的计算机上安装了 Android SDK 和 NDK 在自定义位置 我正在尝试在 Windows 环境中安装 xamarin 但安装程序想要强制我安装 SDK 和 NDK 看起来无法通过安装文件夹找到 有没有解决方案可以指定何时安装我的
  • 如何以 json 格式(双引号)漂亮打印(人类可读的打印)Python 字典? [复制]

    这个问题在这里已经有答案了 这是一个后续问题this one https stackoverflow com questions 16087662 pprint how to use double quotes to display str
  • 错误:程序类型已存在:com.google.android.gms.internal.measurement.zzdz

    我看过关于这个主题的几篇类似的文章 但没有一个适用于我的情况 我根据这些帖子收集到 这可能是由我的 Firebase 依赖项之一引起的 但我不确定如何解决此问题 清理 失效等工作已经完成 我的所有依赖项都已更新到最新版本 这是我的 grad
  • NodeJS 响应当我直接从 MySQL 获取时 MySQL 时区不同

    当我直接请求MySQL时 我得到UTC日期 我在MySQL服务器中设置UTC 但是使用NodeJS我得到UTC 2本地时区数据 为什么 如何设置 NodeJS 获取 UTC 我在初始化mysql连接时在index js中添加了时区 var
  • Maya Python - 使用 UI 中的数据

    我正在开发一个脚本程序 并且在用户界面方面遇到了一些困难 我制作了几个用户界面 所有这些用户界面似乎都可以单独工作 但我不知道如何将用户界面中输入的数据使用到另一个函数 我正在尝试获取枪类型 由用户选择 Bullet Spray Gener
  • 使用 Revit API 进行编码:减少内存使用的技巧?

    我有一个非常 普遍 的问题 我正在使用 Revit API 使用 python 进行开发 有时我会观察到 Revit 会话在测试和试验期间变得更慢 Revit 保持打开状态的时间越长 这种情况似乎发生得越多 虽然还没有到真正有问题的地步 但
  • spring 将两个验证注释合二为一

    我在用着Spring Hibernate Spring MVC 我想定义一个结合其他两个预定义验证注释的自定义约束 NotNull Size像这样 import javax validation constraints NotNull im
  • 绝对值的 SUMIF

    我有一个电子表格 其值如下 A B 10 55 x 10 05 0 55 x 7 55 88 50 x 我想要所有行的绝对总和x in B 我可以得到 x 行的总和 SUMIF B2 B100 x A2 A100 以及所有 A 列的绝对总和
  • 无法构建 gem 本机扩展 — Rails 安装

    我一直根据 edX 在线课程的说明安装 Ruby on Rails 以下是终端命令的列表 以及相关的相应输出 sudo apt get install ruby1 9 1 安装成功 wget http production cf rubyg
  • Javascript:检查重复打开的窗口

    是否可以检查同一窗口是否已打开 例如我通过 javascript 打开了一个窗口 我可以通过javascript检查它是否在另一个页面上打开吗 只是想关注已打开的页面以避免重复窗口 谢谢 Look at window open 方法 您必须
  • python 中缺少 lxml 模块?

    我想用Python docx处理word文件的库 Adocx py参考lxml 正如我假设的那样 from lxml import etree 当我启动脚本时 出现错误 No module named lxml 这是标准库吗 那么为什么没有
  • 使用版本控制同步 sftp 文件系统

    我最近开始为一个大学社团管理一个 小型 网站 显然 根据最后一个管理它的人的说法 访问该网站文件的方式是通过 SFTP 我使用 Linux Mint Nautilus 所以这没有问题 不过 我还有一个本地副本 可以在上传之前使用 Apach
  • 如何比较两个字符串的值是否相等,最好的方法是什么? [复制]

    这个问题在这里已经有答案了 总是对这个东西很困惑 有人可以帮忙吗 string1 equals string2 就是这样 它返回true if string1等于string2在价值上 否则会返回false 等于参考 http downlo
  • 如何在Acumatica发票报表(AR.64.10.00)中进行金额字段的文字表示?

    如何在Acumatica发票报表 AR 64 10 00 中进行金额字段的文字表示 在 DAC 扩展中创建一个未绑定字段ARInvoice数模转换器 并使用PX Objects AP ToWords属性 public class ARInv
  • 什么是 @RecentlyNonNull 注释?

    我正在 Android Studio 上进行代码检查 弹出以下警告 Probable bugs NotNull Nullable problems Not annotated method overrides method annotate
  • IntelliJ 12 中未识别 Struts2 标签库

    我一直在尝试一切让 IntelliJ 允许使用 Struts2 taglib 但它还是不断抱怨 IDE 中显示的错误是 无法解析 uri struts tags 我从头开始建立了一个新项目 并包含了 struts2 方面 将 struts
  • 键入提示 PyCharm 内部使用的类[重复]

    这个问题在这里已经有答案了 如何在其内部正确键入一个类 在 PyCharm 中 我当前收到此错误 这是一个未解决的参考错误 这通常是有道理的 因为我不希望 PyCharm 完美支持类型 但是 当我在除课程之外的其他课程中使用它时Item类本