gpt4 book ai didi

python - python 合并 get 和 set 函数

转载 作者:行者123 更新时间:2023-12-01 04:03:06 28 4
gpt4 key购买 nike

我正在实现一个包含大量变量的类。在那个类中,我想做一个 get 函数和一个 set 函数,这些函数将有 4 个(示例中为 2 个)参数。例如:

class MyClass(object):
def __init__(self):
self.var1 = 0
self.var2 = 0
self.var3 = 0
self.var4 = 0

def get(self, arg1, arg2):
if arg1 and arg2:
return self.var1
elif not arg1 and arg2:
return self.var2
elif arg1 and not arg2:
return self.var3
else:
return self.var4

def set(self, arg1, arg2, value):
if arg1 and arg2:
self.var1 = value
elif not arg1 and arg2:
self.var2 = value
elif arg1 and not arg2:
self.var3 = value
else:
self.var4 = value

如您所见,我的问题是 switch-case\if-elif-else 部分,我找不到一种导出到一个函数的方法。漂亮的Python方法是什么?

最佳答案

正如ubadub所说,看起来像you're not actually telling us what you want to achieve .

如果我对您尝试保存位字段的猜测是正确的,那么您可以使整个事情变得非常简单:

def get(self, arg1, arg2):
return getattr(self, "var" + str(1+2*(1-arg2)+(1-arg1)))

但在这种情况下,有 much better ways .

关于python - python 合并 get 和 set 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36163778/

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