gpt4 book ai didi

在循环中更新多个类变量的 Pythonic 方法?

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:02 25 4
gpt4 key购买 nike

我想在循环中更新具有相似名称的类变量:

我有以下代码:

class Table:
def __init__(self):
pass

acc_counter = 0
acc0 = 0
acc1 = 0
acc2 = 0
acc3 = 0
acc4 = 0

我可以手动更新每个值:

Table.acc0 = 0
Table.acc1 = 1
Table.acc2 = 2
Table.acc3 = 3
Table.acc4 = 4

但是,我想知道我是否可以在一个循环中完成它,比如:

for i in range(5):
print(getattr(Table, f"acc{i}"))
#getattr(Table, f"acc{i}") = i

如果代码的最后一行未注释,则返回:“SyntaxError: can't assign to function call”

最佳答案

您可以使用setattr 函数:

for i in range(5):
setattr(Table, f"acc{i}", i)

关于在循环中更新多个类变量的 Pythonic 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58118141/

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