self是全局变量,如果变量前面加了self,那么在任何实例方法(非staticmethod和calssmethod)就都可以访问这个变量了,如果没有加self,只有在当前函数内部才能访问这个变量。
所有的加了self的变量,需要确保是在__init__中首次出现,所以最好确保所有带self前缀的变量是在__init__中首次出现,重中之重就是前缀带self的变量,就是在整个类的代码块里面类似是作为全局变量
def __init__(self,x=0):
self.x=x
class Demo_Property:
class_name="Demo_Property" 类属性
def __init__(self,x=0):
self.x=x 实例属性
实例属性即同一个类不同的实例,其值是不相关联的,定义时用self.属性名
类属性,一旦在某个实例中进行了修改,就会影响其他所有的这个类的实例