我想确定要动态查找的属性,
考虑下面的python代码:
def f(x, a):
return x.a
class X:
b = 4
x = X()
print(f(x, b))
如果python具有此属性,则上面的代码应显示4。
有没有办法用任何语言做到这一点?
我无法想到使用C ++模板或动态类型的方法。
最佳答案
我认为您无法以尝试的方式动态访问对象的属性。内置功能getattr
将允许您执行此操作。正如marcin建议的那样,您可以将f替换为getattr
http://docs.python.org/library/functions.html#getattr
def f(x, a)
return getattr(x, a)
要么
class X:
b = 4
getattr(x, a)
print(getattr(x, "b"))
关于c++ - 传递要动态查找的成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9383891/