python能用一个变量的值作为另一个变量的变量名吗? |
您所在的位置:网站首页 › python获取变量名字 › python能用一个变量的值作为另一个变量的变量名吗? |
python的内置函数setattr和getattr就是为了做这件事,增强动态特性。举例: class A() pass a = A()现在有一个对象a,我们为它动态添加成员变量a.par: a.par = 3还可以更动态: b = "par" setattr(a, b, 3) # 和 a.par = 3 等价获取也是一样的: print(a.par, getattr(a, b)) # 都同样是访问a.par上面例子中,变量名都在对象之内。如果非要独立的变量名可以参考其它书籍,原理一样。 原理上来说:对python、lua、js等纯动态语言来说,变量名只不过是某一个字典的key,可以随意访问。但是这个“保存变量名字的字典”隐藏在普通语法后面,对虚拟机有一定了解以后你就知道它们藏在哪了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |