python:
def get() -> Type[Person]:
这是啥意思,->
Type 是从 typing 模块导入的,并且它表示某种类型的类型,而不是具体的
Python 中,-> 用于指定函数的返回值类型注解。它可以帮助开发者和静态类型检查工具理解函数的返回值类型。
from typing import Type
class Person:
pass
def get() -> Type[Person]:
return Person
-> Type[Person] 表示函数 get 的返回值是一个 类本身(而不是类的实例)。
Type[Person] 是 Python 的 typing 模块中的一个类型构造函数,表示 Person 类的类型
类型提示:帮助开发者理解函数返回的是 Person 类本身,而不是 Person 的实例。
静态类型检查:工具如 mypy 可以利用这些注解进行类型检查,提前发现潜在错误。
需要从 typing 模块导入 Type。
如果返回的是类的实例,则应使用 -> Person 而不是 -> Type[Person]。
总结来说,def get() -> Type[Person]: 表示函数返回的是 Person 类本身。
Python的模块查找过程:
检查sys.modules缓存
遍历sys.path查找文件
将整个文件作为代码对象(PyCodeObject)执行
生成模块对象(PyModuleObject)并填充__dict__