我怎样做一个“a”字;改变;python中的属性?[请关闭]
(已编辑)我正在尝试创建一个具有属性的对象,如果您这样做,例如object.add1,它将向属性添加一个属性,因此如果再次调用object.attribute,它将返回+1我怎样做一个“a”字;改变;python中的属性?[请关闭],python,oop,Python,Oop,(已编辑)我正在尝试创建一个具有属性的对象,如果您这样做,例如object.add1,它将向属性添加一个属性,因此如果再次调用object.attribute,它将返回+1 object.attribute >>> 1 object.add1 >>> object.attribute >>> 2 我首先尝试了一种简单的方法: self.attribute = str(value + 1) 不起作用 然后我尝试了一种使用setattr()函
object.attribute
>>> 1
object.add1
>>>
object.attribute
>>> 2
我首先尝试了一种简单的方法:
self.attribute = str(value + 1)
不起作用
然后我尝试了一种使用setattr()函数的方法
看起来像这样:
class add1:
def __init__(self, val):
self.status = val
self.change = setattr(self, str(val), str(val + 1))
也不管用。我在网上找不到任何资源,因此如何才能使其正常工作?您可以定义一种方法:
class adder示例:
定义初始值(self,val):
self.value=val
def add1(自我):
self.value+=1
example=AddExample(1)
打印(示例值)#打印1
示例add1()
打印(示例.值)#打印2
进一步阅读:以下内容适用于你的问题,但是肯定有更好的方法来实现你想要做的事情——尽管很难看出你想要实现什么
>>> class adder():
def __init__(self):
self.attribute = 1
@property
def add1(self):
self.attribute += 1
>>> object = adder()
>>> object.attribute
1
>>> object.add1
>>> object.attribute
2
>>>
对不起,我不明白你想要什么,为什么。你为什么认为你想要这样做?也许你可以分享你的实际用例,我们可以建议一个更惯用的python解决方案。似乎您想用
add
方法定义一个类。为什么不简单地使用对象。add(1)
?尝试定义方法!