Python中用inspect包编写get_var_name函数获取变量名实现打印列表中的字典名称

以下程序用inspect包编写get_var_name函数获取变量名,然后对字典列表进行了遍历输出,在打印每个信息的开头都输出了变量名作为提示。

import inspect

def get_var_name(var):
	for fi in reversed(inspect.stack()):
		names = [var_name for var_name, var_val in fi.frame.f_locals.items() if var_val is var]
		if len(names)>0:
			return names[0]	

didi = {
	"variety":"poodle",
	"master":"sundi",
	"age":3
}

banban = {
	"variety":"bulldog",
	"master":"wenjun",
	"age":5
}

bibi = {
	"variety":"ruraldog",
	"master":"wangchenou",
	"age":2
}

pets = [didi,banban,bibi]

for pet in pets:
	print("The info of "+get_var_name(pet))
	for key,value in pet.items():
		message = key.title()+":"+str(value).title()
		print(message)
	print("*******************")

运行以上代码的结果如下:

The info of didi
Variety:Poodle
Master:Sundi
Age:3
*******************
The info of banban
Variety:Bulldog
Master:Wenjun
Age:5
*******************
The info of bibi
Variety:Ruraldog
Master:Wangchenou
Age:2
*******************
[Finished in 0.7s]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值