除了创建一个“重载”(我猜不是真正的重载,因为方法名将不同于init)构造函数之外,我还试图考虑@classmethod特殊修饰符的用例,但是没有想到任何一个。你知道吗
我已经签出了像What's an example use case for a Python classmethod?这样的帖子,但是只能找到指向备用构造函数的用例。你知道吗
我能想到的另一种情况是将方法与类耦合以封装相关逻辑(如上面链接的帖子中@samplebias所述),但我认为@staticmethod更适合将相关逻辑封装到类中(如有人在帖子中评论@samplebias)。你知道吗
有谁能帮我确定这个特殊装饰器的一些附加用例吗?你知道吗
我正在用Python研究OOP的一些资料,发现了
@classmethod
decorator作为重载构造函数的一个用例。你知道吗当直接对类对象执行(改变)操作时,使用类方法是有意义的。例如,如果有一个
Employee
对象和base_raise_factor
作为类变量,那么在Employee上创建一个类方法来改变这个变量是有意义的。你知道吗你可能会说我们可以直接将
Employee.base_raise_factor
设置为某个值,但我认为最好是遵循encapsulation
,而不是直接修改内部结构。另外,我们可以在类方法中定义一些额外的逻辑来更新base_raise_factor
。你知道吗相关问题 更多 >
编程相关推荐