我有一个类,一个在该类内部的函数,我想从该函数内部打印出来。该函数正在更改X。
我试图这样打印。
class apples:
quantity = 0
def howMuch(self,x):
quantity = x #because i am going to set it
fruit = apples()
fruit.howMuch(10)
print(fruit.quantity)
输出:0
我希望它能打印出我分配给它的新金额,但是它没有被修改,并且保留了“原始”值。
编辑:我想这样使用
ate = fruit.howMuch.quantity - 1
答案 0 :(得分:0)
您将数量存储在局部变量和类变量中,并且在检查时,您检查了实例属性,而后退到类变量。相反,您想要的只是实例属性:
class apples:
def __init__(self): # gets executed when you instantiate a new apples object
self.quantity = 0
def howMuch(self,x):
self.quantity = x #because i am going to set it
fruit = apples()
fruit.howMuch(10)
print(fruit.quantity)
我认为您可能会反过来使用整个术语-您是否不想要一个名为Fruits
的类并拥有一个名为apples
的实例?
关于您的编辑,您想要的是可能,但很可能会被误导。但是,使用此解决方案,您可以执行ate = fruit.quantity - 1