【19】Python 类型注解变量名、locals()
1 类型注解变量名后面加冒号
变量名后面加冒号标明变量类型,用法:
var: type = value
这是 Python 3.5 中引入的 Type Annotation,是一种注解,用来提示变量的类型。其中
var 为要定义的变量;
type 为该变量期待的类型;
value 为赋给该变量的值。
这种用法本质上和 var = value 相同,只是加上了 var 的类型说明。例如:
a: int = 10
这行代码将 10 赋值给变量 a,并指出变量 a 的类型是 int 型。
此外,类型注解也经常用在函数参数中,可以向函数的调用者提示参数类型:
def func(arg: int)
那么调用者调用函数 func 时就知道参数 arg 应该是一个 int 类型。
需要注意的是,类型注解只是一种提示,并非强制的,Python 解释器不会去校验 value 的类型是否真的是 type,它只是在提示调用者该参数的类型。例如:
a: str = 10
这样是没有错的,python 解释器在执行时会把 a 当作 int 来操作。
2 locals()
locals()
方法用来返回当前本地符号表字典 ,符号表是编译器维护程序必要信息的数据结构,包含了变量,方法,类等等。主要有两类符号表:
- 全局符号表
- 本地符号表
全局符号表存储程序全局范围的所有信息,Python使用globals()
方法来访问。 全局范围包括所有不属于类和函数的函数以及变量。
本地符号表存储所有本地范围的相关信息,Python通过locals()
方法来访问。 本地范围可以是一个函数,一个类等等。
def a(a, b):
return locals()
r=a(1,3)
print(r)
结果:
{'a': 1, 'b': 3}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix