2024-09-28 05:28:46 发布
网友
在python类(比如说C类)中,假设我们有类变量V=0,假设这是一个计数器,它跟踪类的多少个对象被创建
在init methid中,假设我们要获取类变量值。我们可以通过写C.V或self.V来实现这一点-假设两者都做完全相同的事情
要设置该类变量的值,有两个相同的选项,因此使用以下选项有什么区别:
C.V+=1与self.V+=1
是否使用self会在该对象级别更新变量,而其他对象不会得到更改?或者两种方法的行为相同
设置C.V是指类的定义。这将为同一类的所有对象设置值。使用self引用该类的当前实例或对象。这不会影响同一类的其他对象
self
编辑记入@Jdw136
再加上@CalderWhite所说的,当你在一个类(C.V)中使用一个普通变量时,这个变量在该类的所有实例中共享。另一方面,当你使用自我时。方法(self.V),则该对象的每个实例都会获得自己的变量。记住这一点,您可以使用这些知识来避免在堆栈中反复创建相同的变量
设置C.V是指类的定义。这将为同一类的所有对象设置值。使用
self
引用该类的当前实例或对象。这不会影响同一类的其他对象编辑记入@Jdw136
再加上@CalderWhite所说的,当你在一个类(C.V)中使用一个普通变量时,这个变量在该类的所有实例中共享。另一方面,当你使用自我时。方法(self.V),则该对象的每个实例都会获得自己的变量。记住这一点,您可以使用这些知识来避免在堆栈中反复创建相同的变量
相关问题 更多 >
编程相关推荐