使用self设置类变量值。与类名

时间:2019-07-13 21:32:13

标签: python

在python类(例如C类)中,我们有一个类变量V =0。可以说这是一个计数器,用于跟踪已创建该类的对象的数量。

在初始化方法中,说我们要获取类变量值。我们可以通过编写C.V或self.V来做到这一点-假设两者做的完全相同。

要设置此类变量的值,有两个相同的选项,因此使用有什么区别:

C.V + = 1与self.V + = 1

是否使用self将在该对象级别更新变量,而其他对象将无法获得更改?还是两种方法的行为都一样。

1 个答案:

答案 0 :(得分:2)

设置C.V是指类的定义。这将为同一类的所有对象设置值。使用Files.walk(Paths.get("your_path")) .map(path -> path.toAbsolutePath().toString()) .forEach(writer::write); 引用该类的当前实例或对象。这不会影响相同类的其他对象。

编辑-归功于@ Jdw136

并加上@CalderWhite所说的内容,当您在类(C.V)中使用普通变量时,该变量在该类的所有实例之间共享。另一方面,当您使用自我时。方法(self.V),该对象的每个实例都获得自己的变量。请记住这一点,您可以使用此知识来避免一遍又一遍地在堆栈中创建相同的变量。