Python string to attribute(Python字符串属性)
问题描述
我怎样才能完成这样的工作:
How can I achieve such job:
def get_foo(someobject, foostring):
return someobject.foostring
IE:
如果我这样做 get_foo(obj, "name") 它应该调用 obj.name (将输入视为字符串,但我将其称为 attritube.
if I do get_foo(obj, "name") it should be calling obj.name (see input as string but I call it as an attritube.
谢谢
推荐答案
使用内置函数 getattr.
Use the builtin function getattr.
getattr(object, name[, default])
返回object的命名属性的值.name 必须是字符串.如果字符串是对象属性之一的名称,则结果是该属性的值.例如,getattr(x, 'foobar') 等价于 x.foobar.如果命名属性不存在,则返回default,否则返回AttributeError 被引发.
Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For example, getattr(x, 'foobar') is equivalent to x.foobar. If the named attribute does not exist, default is returned if provided, otherwise AttributeError is raised.
这篇关于Python字符串属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Python字符串属性
基础教程推荐
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
