在python类(例如C类)中,我们有一个类变量V =0。可以说这是一个计数器,用于跟踪已创建该类的对象的数量。
在初始化方法中,说我们要获取类变量值。我们可以通过编写C.V或self.V来做到这一点-假设两者做的完全相同。
要设置此类变量的值,有两个相同的选项,因此使用有什么区别:
C.V + = 1与self.V + = 1
是否使用self将在该对象级别更新变量,而其他对象将无法获得更改?还是两种方法的行为都一样。
答案 0 :(得分:2)
设置C.V是指类的定义。这将为同一类的所有对象设置值。使用Files.walk(Paths.get("your_path"))
.map(path -> path.toAbsolutePath().toString())
.forEach(writer::write);
引用该类的当前实例或对象。这不会影响相同类的其他对象。
编辑-归功于@ Jdw136
并加上@CalderWhite所说的内容,当您在类(C.V)中使用普通变量时,该变量在该类的所有实例之间共享。另一方面,当您使用自我时。方法(self.V),该对象的每个实例都获得自己的变量。请记住这一点,您可以使用此知识来避免一遍又一遍地在堆栈中创建相同的变量。