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

Python获取变量名本身​​——varname库

文章目录

  • 问题描述
  • 方法1:inspect
  • 方法2:varname
  • 参考文献

问题描述

Python 获取变量名本身​​




方法1:inspect

import inspectdef get_var_name(var):"""获取变量名"""frame = inspect.currentframe().f_backfor name, value in frame.f_locals.items():if value is var:return namefor name, value in frame.f_globals.items():if value is var:return namereturn Nonea = 1
b = 2
c = 3print(get_var_name(a))  # afor i in [a, b, c]:print(get_var_name(i))# a# b# c




方法2:varname

from varname import nameofa = 1
print(nameof(a))  # a

循环

from varname.helpers import Wrappera = 1
b = 2
c = 3
a = Wrapper(a)
b = Wrapper(b)
c = Wrapper(c)for i in [a, b, c]:print(i.name, i.value)# a 1# b 2# c 3

缺点:需要单独写一行,不能写进循环里,也不能写成一行

from varname.helpers import Wrappera, b, c = 1, 2, 3
a, b, c = Wrapper(a), Wrapper(b), Wrapper(c)
# varname.utils.ImproperUseError: Caller doesn't assign the result directly to variable(s).
from varname.helpers import Wrappera, b, c = 1, 2, 3
for i in [Wrapper(a), Wrapper(b), Wrapper(c)]:print(i.name, i.value)
# varname.utils.ImproperUseError: Caller doesn't assign the result directly to variable(s).




参考文献

  1. python-varname GitHub
http://www.dtcms.com/a/461212.html

相关文章:

  • 专业站全返利网站建设
  • 网站设计提案安阳市建设工程领域网站
  • 鸿蒙(OpenHarmony)声明式 UI 开发入门:从「智慧校园」项目学基础语法
  • js移动开发框架
  • 【腾讯拥抱开源】Youtu-Embedding:基于CoDiEmb的一个协作而独特的框架,用于信息检索与语义文本相似性中的统一表征学习
  • 西蔵自治区建设厅网站wordpress防盗链插件
  • VSCode中使用conda activate 虚拟环境,没报错,但没进入环境
  • vue修改element-ui的默认的class
  • ModuleNotFoundError: No module named ‘UI_xiangmu‘
  • 网站建设方案及报价霍州做网站
  • mybatis-generator插件自动生成mapper及其实体模型配置
  • 计算机毕业设计 基于k-means的校园美食推荐系统 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
  • 【代码大模型-后门安全】Backdoors in Neural Models of Source Code
  • javaweb后端优雅处理枚举
  • 帝国cms小程序搞起来简直好用的不行
  • 高效批量调整图像尺寸的方案
  • 单片机供电处3.3V大电容导致程序可进调试但是无法暂停到具体语句
  • Java 实战:为 Word 文档中的文本与段落添加边框
  • 创业网站怎么做网站建设与网页设计...
  • git大文件储存机制是什么-为什么有大文件会出错并且处理大文件非常麻烦-优雅草卓伊凡
  • 机器学习之规则学习(Rule Learning)
  • 【神经网络】从逻辑回归到神经网络
  • 工厂抽烟检测系统 智能化安全管控新方案 加油站吸烟检测技术 吸烟行为智能监测
  • 做外贸怎么看外国网站wordpress配置邮件发送
  • 使用Python对PDF进行拆分与合并
  • 嵌入式软件/硬件工程师面试答案
  • 6.DSP学习记录之定时器
  • 阳春新农村建设网站中铁建设集团有限公司西北分公司
  • 简化OffSec考试报告编写:OSCP-Exam-Report-Template-Markdown项目详解
  • 北京网站设计制作过程数据服务网站开发