我编写了一个类以及一个定义的反面思考当你, 每次使用类变量设置一个值时,您总是可以使用定义
来调用总量class Hand():
def __init__(self, Hand=0):
self.Hand = Hand
def getHand(self, neue_Hand):
self.Hand = neue_Hand
def set_hand(self):
return self.Hand
c = Hand()
def Aufruf():
Total = 0
Total += c.getHand(0)
return Total
c.getHand(12)
Aufruf()
它每次都会更改值,但不会像预期的那样累积它。
答案 0 :(得分:2)
您已经混淆了getter和setter中的功能。 getter应该返回变量,setter应该设置值。
class Hand():
def __init__(self,Hand=0):
self.Hand = Hand
def getHand(self):
return self.Hand
def set_hand(self, neue_Hand):
self.Hand = neue_Hand
def increment_hand(self, neue_Hand_incremenet):
self.Hand += neue_Hand_incremenet
c = Hand(10)
c.getHand()
>> 10
c.set_hand(20)
c.getHand()
>> 20
def Aufruf():
Total = 0
Total += c.getHand()
return Total
Aufruf()
>> 20
c.increment_hand(10)
Aufruf()
>> 30
另外作为旁注:
如果你仔细观察,你会发现你的方法Aufruf
实际上是getHand()
方法的完全重复(逻辑上)。当您在方法代码块中实例化变量total = 0
时,在调用方法时,此值将始终设置为0,这意味着来自c.getHand()
的值将始终为' s返回
答案 1 :(得分:1)
使用方法添加来更改价值,并且不要在班级内使用大写字母或camelCase。
class Hand:
def __init__(self, 0):
self.hand = hand
def get_hand_bigger(self, addition):
self.hand += addition
答案 2 :(得分:0)
您的类方法getHand
不返回任何值,但它正在被调用。试试这个:
def getHand(self, neue_Hand):
self.Hand = neue_Hand
return self.Hand