首页 > 解决方案 > 为什么在 Python 中使用 @classmethods 而不是没有实例的普通方法?

问题描述

例如:

class A:
    factor = 2
    def salary(self):
         base_sal = 10000
         sal = base_sal*factor
         print("Your Salary:",sal)

    @classmethod
    def inc_factor(cls):
        cls.factor += 0.1

    def increase_factor():
        A.factor += 0.1
     

为什么我们不能只使用 A.increase_factor() 而不是使用 @classmethod,因为它只会在 A 类中起作用,为什么值得传递类参数来执行与普通方法相同的操作?

标签: python-3.xclassmethodsclass-method

解决方案


推荐阅读