此问题在此处已有答案:
How to access (get or set) object attribute given string corresponding to name of that attribute(3个答案)
昨天就关门了。
我必须创建大量的类,它们的属性都遵循相同的模式。我想创建一种简洁的方法来完成这一任务,目标是使用脚本来布局所有的类,这样我就可以避免重复的工作。
add_get_for(class_type, property):
class_type[property] = lambda self: self._attributes[property]
class A:
def __init__(self, input_object):
self._attributes = process(input_object)
add_get_for(A, 'attrib1')
add_get_for(A, 'attrib2')
字符串add_get_for
方法失败,因为类上的项赋值。如果事先不知道方法的名称,我就想不出赋值lambda函数的方法,这对我的目标毫无意义。
1条答案
按热度按时间z2acfund1#
你可以将
setattr()
与lambda和f-string一起使用:字符串
输出:
型