更改变量以供以后在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

我试图设置一个变量,并能够使用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 

        # 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
。请看这条更有意义的线索。非常感谢。我是个新手