当前位置: 首页 > news >正文

python内置函数 V

python内置函数 V

Python 解释器内置了很多函数和类型,任何时候都能使用。

V

名称描述
vars返回当前局部符号表的字典。
vars()

vars(object)

返回模块、类、实例或任何其它具有 __dict__ 属性的对象的 __dict__ 属性。

模块和实例这样的对象具有可更新的 __dict__ 属性;但是,其它对象的 __dict__ 属性可能会设为限制写入(例如,类会使用 types.MappingProxyType 来防止直接更新字典)。

不带参数时,vars() 的行为类似 locals()。 请注意,locals 字典仅对于读取起作用,因为对 locals 字典的更新会被忽略。

如果指定了一个对象但它没有 __dict__ 属性(例如,当它所属的类定义了 __slots__ 属性时)则会引发 TypeError 异常。****

# 在全局作用域中  
x = 10  
y = 20  # vars() 返回全局变量的字典  
global_vars = vars()  
print(global_vars)  # 输出包含 x 和 y 等全局变量的字典  def my_function():  local_x = 5  local_y = 15  # vars() 在函数内部返回局部变量的字典  local_vars = vars()  print(local_vars)  # 输出包含 local_x 和 local_y 等局部变量的字典  my_function()  # 在全局作用域中再次调用 vars()  
print(vars())  # 仍然输出全局变量的字典

vars() 在函数内部返回的是局部变量的字典,这包括函数参数和函数内部定义的变量。如果你在函数内部修改了通过 vars() 获取的字典,实际上你就是在修改这些局部变量的值。

class MyClass:  def __init__(self):  self.attr = "value"  def print_vars(self):  instance_vars = vars(self)  print(instance_vars)  # 输出包含 attr 的实例属性字典  obj = MyClass()  
obj.print_vars()  # 输出: {'attr': 'value'}

vars() 主要用于获取当前作用域(全局或函数局部)的变量字典,而 locals() 主要用于获取当前执行的代码块的局部变量字典。

参考:内置函数 — Python 3.12.2 文档

相关文章:

  • ReentrantLock 原理
  • vue3+ts+element home页面侧边栏+头部组件+路由组件组合页面教程
  • ip地址开发场景问题
  • 若依分离版 —引入echart连接Springboot后端
  • 南京观海微电子---Vitis HLS的工作机制——Vitis HLS教程
  • 51单片机学习9 串口通讯
  • 为wordpress特定分类目录下的内容添加自定义字段
  • 2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题
  • vscode使用Runner插件将.exe文件统一放到一个目录下
  • git基础-tagging
  • 【服务器】常见服务器高危端口
  • 爬取搜狗翻译项目实例
  • 网络协议栈--传输层--UDP/TCP协议
  • 简单的查看iPhone储存空间的几种方法,总有一种是你想要的
  • nginx mirror 流量镜像
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 30秒的PHP代码片段(1)数组 - Array
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JS函数式编程 数组部分风格 ES6版
  • Nacos系列:Nacos的Java SDK使用
  • TypeScript迭代器
  • 从重复到重用
  • 猴子数据域名防封接口降低小说被封的风险
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 数据可视化之 Sankey 桑基图的实现
  • 推荐一个React的管理后台框架
  • 微服务入门【系列视频课程】
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # 计算机视觉入门
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (52)只出现一次的数字III
  • (windows2012共享文件夹和防火墙设置
  • (ZT)出版业改革:该死的死,该生的生
  • (二)正点原子I.MX6ULL u-boot移植
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (强烈推荐)移动端音视频从零到上手(上)
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net6Api后台+uniapp导出Excel
  • .NET是什么
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .project文件
  • ::before和::after 常见的用法
  • [ 蓝桥杯Web真题 ]-布局切换
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [Android学习笔记]ScrollView的使用
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [bzoj1038][ZJOI2008]瞭望塔
  • [bzoj1324]Exca王者之剑_最小割
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项