更改变量以供以后在Python中使用
我试图设置一个变量,并能够使用set和get更改和存储该变量。电流输出为: 0 0 我想让它成为: 0 二, 有人能帮助我理解如何更改一个值,然后在python中使用它吗?有点像开关更改变量以供以后在Python中使用,python,Python,我试图设置一个变量,并能够使用set和get更改和存储该变量。电流输出为: 0 0 我想让它成为: 0 二, 有人能帮助我理解如何更改一个值,然后在python中使用它吗?有点像开关 class Spammer: def __init__(self, spam = 0): self._spam = spam # getter method def get_spam(self): return self._spam
class Spammer:
def __init__(self, spam = 0):
self._spam = spam
# getter method
def get_spam(self):
return self._spam
# setter method
def set_spam(self, x):
if x == 1:
return self._spam+1
if x== 0:
return self._spam
spammer=Spammer()
print (spammer.get_spam())
spammer.set_spam(1)
print(spammer.get_spam())
有一个@property decorator内置,因此您可以执行以下操作:
类垃圾邮件发送者:
定义初始化(self,spam=0):
self.\u spam=垃圾邮件
@财产
def垃圾邮件(自我):
返回自我。\u垃圾邮件
@垃圾邮件设置器
def垃圾邮件(自我、新垃圾邮件):
self.\u spam=新的\u spam
set_spam()
返回一个值,但它从未实际设置self.spam的值。这是故意的吗?设置self的值。set\u spam
中的\u spam
,就像您在中所做的那样。set\u spam
是一个误导性的名称,可能不需要返回值。此外,还不清楚为什么要使用参数0调用set\u spam
,而不是一开始就不调用它。使用setter和getter不是Pythonic,您可以直接访问属性,如spammer.\u spam
和spammer.\u spam=1
。请看这条更有意义的线索。非常感谢。我是个新手