加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何在类中将字典值作为变量返回

发布时间:2020-12-20 11:06:42 所属栏目:Python 来源:网络整理
导读:我有以下类,它返回给定kwargs作为输入的字典. class Emp_Constant: def __init__(self,**kwargs): for key,value in kwargs.items(): setattr(self,key,value) 但是,在某些情况下,我想将字典作为此类的输入传递,并将键值作为变量进行访问. 例如,如果我的字典
我有以下类,它返回给定kwargs作为输入的字典.

class Emp_Constant:
    def __init__(self,**kwargs):
        for key,value in kwargs.items():
            setattr(self,key,value)

但是,在某些情况下,我想将字典作为此类的输入传递,并将键值作为变量进行访问.

例如,如果我的字典是{‘name’:’Tome’,’age’:’26’},那么
我想访问’Tom’,如下所示:

set = {'name': 'Tom','age':'26'}
a = Emp_Constant(set)
first_emp = a.NAME (where NAME is a variable that holds value of key 'name')

这有可能实现吗?

解决方法

当然,使用“double-splat”运算符将字典解压缩为关键字参数,然后使用getattr:

In [30]: class Emp_Constant:
    ...:     def __init__(self,**kwargs):
    ...:         for key,value in kwargs.items():
    ...:             setattr(self,value)
    ...:

In [31]: data = {'name': 'Tom','age':'26'}
    ...: a = Emp_Constant(**data)
    ...:
    ...: NAME = 'name'
    ...:
    ...:

In [32]: getattr(a,NAME)
Out[32]: 'Tom'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读