python类中类变量,属性变量使用
在python类中,定义变量或者称为属性,什么时候应该放在初始化方法中,什么时候放在类的其他方法中?还有什么时候使用类变量呢def __init__(self, predicted: list, expected: list):
self.predicted = predicted
self.expected = expected
def compute_confusion_matrix(self, predicted: list, expected: list) -> int:
这里有两个变量,predicted, expected,我什么情况下应该放在初始化方法__init__中,什么情况下放在方法compute_confusion_matrix中呢?
本帖最后由 阿奇_o 于 2022-12-10 18:05 编辑
视情况而定。。 一般要根据你的 OOP的"对象系统"而定,比如:
- 类与类之间是什么关系(涉及继承与多态,或组合/描述器等),类与实例之间什么关系以及函数方法怎么写等(如何封装/抽象)
- 如何调用(通过类名还是实例来调用),是否支持动态修改等
- 是否属于"全局性的、这一类的"属性(即类变量),还是 每个实例所独有的,或各个实例所共有的 ??
同样,是否需要 在__init__里先完成初始化一些变量,也取决于你的具体需要,一般来说 实例共有的属性,都可以在这里先完成初始化。。(但这不是强制的。。
页:
[1]