考虑这个 C++ 代码:class TestClass{public: int memberA = 0; int memberB = 0; };void doSomethingToMember(int TestClass::* memberPointer, std::vector<TestClass> objects){ for(int i = 0; i < objects.size(); i++) (objects[i].*memberPointer)++;}我们有一个接受多个对象的函数,我们想对我们使用memberPointer. 我们如何在 python 中执行此操作?我想我们可以使用某种反射还是有更好的方法?
1 回答

Smart猫小萌
TA贡献1911条经验 获得超7个赞
要在 Python 中执行相同的操作,您可以使用带有成员名称而不是成员指针的getattrand函数:setattr
def do_something_to_member(member_name, objects):
for object in objects:
member_value = getattr(object, member_name)
setattr(object, member_name, member_value + 1)
添加回答
举报
0/150
提交
取消