从类内部的函数访问数据

时间:2019-01-05 08:14:21

标签: python-3.x

我有一个类,一个在该类内部的函数,我想从该函数内部打印出来。该函数正在更改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

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