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
。
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
。