所以我有一个这样的课程:
class var:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
object = var(1, 2, 3)
我想创建一个函数,将参数作为我的类的一个属性的名称,来制作这样的东西(例子):
def function(object, a):
object.a = 5
显然,我可以将'a'作为一个字符串传递出来并制作一些if case:
def function(object, a):
if (a == 'x'):
object.x = 5
if (a == 'y'):
object.y = 5
if (a == 'z'):
object.z = 5
但在这种情况下,我必须将整个代码复制到if中(显然我想做的不仅仅是分配一个值)。我想知道是否有一种聪明的方法可以做到这一点。
编辑:
为了澄清,我的对象有更多变量:
class var:
def __init__(self, x, y, z, a, b, c):
self.x = x
self.y = y
self.z = z
self.a = a
self.b = b
self.c = c
我将在我的功能中访问这些内容。这就是为什么我不传递简单的object.x或object.y。我将传递对象和我将使用的变量,但是我将访问其他变量。