了解 python 中的 class 方法

Understanding class method in python

我有三个问题要问

  1. in python 我在 class 中编写了一个 class 方法并编写了基本功能 当我尝试从 class 本身调用该方法时以及当我尝试打印我得到的输出为“None”
  2. 另外,如果有人可以在 class 方法中解释一下,只能访问 class 变量吗?也可以在 class 方法
  3. 中访问实例变量
  4. 此外,如果删除 class 变量并在 class 方法中声明我自己的变量,那么当我在方法中传递参数并从 class 调用它时,代码会工作吗

下面是代码

class Item():

    discount_price = 0.8
    quantity1 = 10
    quantity2 = 10
    
    def __init__(self,name,price,quantity):
        self.name = name
        self.price = price
        self.quantity = quantity


    @classmethod
    def year2020(cls,val1,val2):
         cls.value2020 = cls.quantity1 + cls.quantity2 + cls.discount_price
        

print(Item.year2020(10,10))

函数 year2020 不 return 任何东西,所以打印语句被告知不打印任何东西。要让它打印函数的输出,请确保在其中包含一个 return 语句。

例如,这是一个固定函数,它 return 输出:

def year2020(cls,val1,val2):
    cls.value2020 = cls.quantity1 + cls.quantity2 + cls.discount_price
    return cls.value2020