Python 输入 class 输入单引号

Python typing class type in single quotes

class Person:
    def __init__(self, ......  

    def make_friend(self, friend: 'Person') -> None:
        .....

我正在学习python,我不明白这个例子。为什么朋友的类型条件应该用单引号引起来?为什么不 friend: Person?它是如何工作的?它与类型 class 快捷方式有共同点吗?

函数make_friend定义在classPerson之前。

创建 classes 时,首先创建命名空间(内部 class 函数),然后将其内置到 class 中(使用 __prepare__方法)。

在创建之前尝试引用 Person 将会失败。

可以使用“前向引用”来解决它,它可以与引号一起使用,也可以在文件顶部使用 from __future__ import annotations