gpt4 book ai didi

python - 对python对象的多个属性执行相同的操作

转载 作者:行者123 更新时间:2023-11-28 21:49:48 24 4
gpt4 key购买 nike

我有以下 Python 对象:

class car(object):

def __init__(self, name, cost, type, speed):
self.name = name
self.cost = cost
self.type = type
self.speed = speed

def get_name(self): return self.name
def get_cost(self): return self.cost
def get_type(self): return self.type
def get_speed(self): return self.speed

然后我想对对象的一些参数执行相同的操作。我想给每个指定的属性加 1。

这样做的一种方法显然是:

obj = car('volvo', 100, 0, 5)
obj.cost = obj.cost + 1
obj.type = obj.type + 1
obj.speed = obj.speed + 1

但是这样就浪费了好几行代码。有没有办法做这样的事情:

attributesToModify = ['cost', 'type', 'speed']
for e in attributesToModify:
obj.e = obj.e + 1

最佳答案

你可以在你的类中添加一个方法:

 def inc(self, i):
self.cost += i
self.type += i
self.speed += i

然后传入增量:

obj.inc(1)

关于python - 对python对象的多个属性执行相同的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32938757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com