class Person:
def __init__(self, ......
def make_friend(self, friend: 'Person') -> None:
.....
我正在学习python,我不明白这个例子。为什么friend的类型条件应该在单引号中?为什么不是friend: Person
?它是如何工作的?它与类型类快捷方式有什么共同之处吗?
函数make_friend
在类Person
之前定义。
创建类时,首先创建命名空间(内部类函数),然后将其构建到类中(使用__prepare__
方法)。
尝试在Person
创建之前引用它将失败。
可以使用"forward reference"来解决这个问题,它可以与引号一起使用,也可以在文件顶部使用from __future__ import annotations
。