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

Python 倒数类型提示自定义类(定义顺序问题)[重复]

陆阳曜
2023-03-14

在python 3.10中,我想在同一个文件中定义两个类,其中每个类的一个方法必须向另一个方法输入提示(代码如下)。

class Foo:
    def some_method(arg: Bar):
        return 'Hello'

class Bar:
    def some_method(arg: Foo):
        return 'World'

由于必须先定义一个,因此不允许提示,因为另一个类型尚未定义。我如何解决或绕过这个问题?

共有1个答案

郝永思
2023-03-14

您可以使用引号来引用尚未定义的类,如下所示:

class Foo:
    def some_method(self, arg: 'Bar'):
        return 'Hello'

class Bar:
    def some_method(self, arg: Foo):
        return 'World'
 类似资料:
  • 将变量定义为和或其他类型时,是否有优先顺序/惯例/规则? e、 g.是 和一样 功能有什么不同吗?在上面,a是可变的。

  • Rust 自定义数据类型主要是通过下面这两个关键字来创建: struct: 定义一个结构体 enum: 定义一个枚举类型 而常量的创建可以通过 const 和 static 关键字来创建。

  • 存在多种方法来重新定义现有类型的行为以及提供新的类型。 重写类型编译 一个常见的需求是强制更改类型的“字符串”版本,即在create table语句或其他SQL函数(如cast)中呈现的版本。例如,应用程序可能希望强制呈现 BINARY 适用于除一个平台外的所有平台 BLOB 待渲染。在本例中,使用现有的泛型类型 LargeBinary ,是大多数用例的首选。但是为了更准确地控制类型,每个方言的编

  • 1. 包含头文件 #import <AdHubSDK/AdHubSDK.h> 2. AdHubCustomView 的创建和初始化 在需要导入广告的ViewController头文件中导入头文件并声明实例以及声明代理 #import <AdHubSDK/AdHubSDK.h> @interface AdHubCustomViewController ()<AdHubCustomViewDele

  • 假设我创建了一个定义如下的类,并对其调用了方法: 方法有一个名为的参数,它是一个对象。我如何使用类型提示来指定它?我假设您只需输入类名,如,但它不起作用。当我运行它时,我得到一个。我还尝试了新朋友:uuuu main。学生,但它给了我同样的错误。我做错了什么?

  • 我正在为一个项目试验Apache Flink。我正在使用 Flink 来聚合一系列传感器捕获的环境数据。为了计算空气质量指数,我正在尝试实现一个自定义聚合函数,以便在带有窗口的分组选择中使用,但我对类型提示有问题。下面是带有 DataTypeHint 注释的函数代码: 但我有以下例外: 我做错了什么?