Python:使用参数作为属性的方法

Python:使用参数作为属性的方法,python,properties,Python,Properties,我试图从一个getter/setter方法对创建一些类属性,这两个方法对都接受一个可选参数。我已经让它工作了,但是代码看起来很难看,不可读,所以我想知道是否有更好的方法来实现这一点 以下是我目前拥有的: 类测试: 定义初始化(self,*x): self._x=列表(x) def get_val(自身,i=0): 返回自我。\u x[i] def set_val(自身,val,i=0): self._x[i]=val first=属性(获取值、设置值) 第二个=属性(lambda t:t.get

我试图从一个getter/setter方法对创建一些类属性,这两个方法对都接受一个可选参数。我已经让它工作了,但是代码看起来很难看,不可读,所以我想知道是否有更好的方法来实现这一点

以下是我目前拥有的:

类测试:
定义初始化(self,*x):
self._x=列表(x)
def get_val(自身,i=0):
返回自我。\u x[i]
def set_val(自身,val,i=0):
self._x[i]=val
first=属性(获取值、设置值)
第二个=属性(lambda t:t.get_val(1),lambda t,val:t.set_val(val,1))
第三个=属性(lambda t:t.get_val(2),lambda t,val:t.set_val(val,2))
t=测试('1',真,3.14,34)
t、 获取_val()#“一”
t、 首先是“一”
t、 第一个=8
t、 第一#8
t、 获得值(1)#真
t、 第二,正确
t、 秒=[41]
t、 第二#[41]
t、 获得(2)#3.14
t、 第三#3.14
有没有办法使
属性
函数调用(
second=…
third=…
)更具可读性?还是有更好的方法一起做

PS-这是一个人为的例子。实际上,
get_val
set_val
更复杂,我不想重复它们的代码