我编写了一个类以及一个定义,回想一下,当你每次使用类变量设置一个值时,你总是可以通过使用定义来调用总金额
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()它每次都会改变值,但不会像预期的那样累加。
发布于 2017-08-28 21:59:46
您在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()的值将始终是返回的值
发布于 2017-08-28 22:07:02
使用方法and来改变值,并且不要在类中使用大写字母或camelCase。
class Hand:
def __init__(self, 0):
self.hand = hand
def get_hand_bigger(self, addition):
self.hand += addition发布于 2017-08-28 22:00:42
您的类方法getHand没有返回任何值,但它正被这样调用。试试这个:
def getHand(self, neue_Hand):
self.Hand = neue_Hand
return self.Handhttps://stackoverflow.com/questions/45920760
复制相似问题