首页 > 编程语言 >【19】Python 类型注解变量名、locals()

【19】Python 类型注解变量名、locals()

时间:2023-03-02 20:02:12浏览次数:40  
标签:符号表 变量 19 Python int 类型 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()方法用来返回当前本地符号表字典 ,符号表是编译器维护程序必要信息的数据结构,包含了变量,方法,类等等。主要有两类符号表:

  1. 全局符号表
  2. 本地符号表

全局符号表存储程序全局范围的所有信息,Python使用globals()方法来访问。 全局范围包括所有不属于类和函数的函数以及变量。

本地符号表存储所有本地范围的相关信息,Python通过locals()方法来访问。 本地范围可以是一个函数,一个类等等。

def a(a, b):
    return locals()

r=a(1,3)
print(r)

结果:

{'a': 1, 'b': 3}

标签:符号表,变量,19,Python,int,类型,locals
From: https://www.cnblogs.com/momolei/p/17173199.html

相关文章

  • python之路 80 路飞项目、git多分支、git远程仓库、ssh方式连接远程仓库、协同开发、
    git多分支为什么要有分支可以保证,主分支的版本都是可以查看的版本我们都在开发分支开发,开发完成,合并到主分支分支操作分支查看gitbranch分支......
  • Python中的导入模块的不同方式
     1.如果需要导入的模块在同一个目录下例如下面的main.py和tool.py文件 则可以直接用import方式导入:tool.py......
  • 牛客网 SQL 195-204
    195:请你查找employees里最晚入职员工的所有信息select*fromemployeeswherehire_date=(selectmax(hire_date)fromemployees);解题思路:使用子查询的方法,先找出......
  • conda创建Python虚拟环境
    1、首先在所在系统中安装Miniconda3。可以打开命令行输入conda-V检验是否安装以及当前conda的版本。kaka@KakadeMacBook-ProDownloads%conda-Vconda23.1.02、co......
  • 【python】pandas 循环输出结果
    1.dataframe-->dictimportpandasaspddf=pd.read_csv(file_path,sep=sep)#sep:间隔字符df.to_dict(orient='dict')#默认dict#{'time':{0:"-3'",1:......
  • Python爬虫:原来微博上的视频下载链接在这啊
    最近看了一下网页版的微博,觉得那上面的视频不错,想获取它上面的下载链接,于是就写了这篇博文。1.几个视频播放平台的下载链接的实现1.西瓜视频西瓜视频这个平台上面......
  • python_opencv_画图_直线_矩形_圆_多边形_文字提示
    opencv绘图参数说明绘制形状的函数有一些共同的参数:img:要绘制形状的图片color:绘制的颜色彩色图就传入BGR的一组值,如蓝色就是(255,0,0)灰度图,传入一个灰度值就......
  • python 在编写库需要调用自己内部的文件
    ChatGPT回答:如果你的库需要调用自己内部的文件,可以使用相对路径来引用这些文件。假设你的库名为mylib,它的文件结构如下:mylib/__init__.pymodule1.pydata......
  • python3和scrapy使用亿牛云隧道代理问题以及代码
    一、前言近期,我参与了一个需要爬取国家食品药品监督局数据的项目,但该网站存在IP屏蔽机制。因此,我需要在Scrapy框架中实现自动IP切换,才能完成任务。然而,尽管我使用了第三方......
  • PYTHON对象
    PYTHON对象类的属性称之为成员变量类的行为称之为成员方法self关键字用来表示类对象自身在方法内部,想要访问类的成员变量,必须使用self可以在传参的时候忽略......