谁能总结一下Python中类方法、类属性和示例方法示例属性的不同,

类中可以定义实例的属性和方法,类中还可以定义类的属性和类方法,类方法只能操作类属性,不能调示例属性,实例方法只能调用实例方法?......,类方法的定义?有点乱,求清晰的总结

阮钦

赞同来自:

要想理解这个问题,首先我们要理解类对象和实例对象: 类对象:类对象由class语句创建,就像函数def语句一样,class语句也是可执行语句。执行时会产生类对象,并将其赋值给class头部的变量名,也就是类名。 实例对象:像函数那样调用类对象创建新的实例对象(表现为a = FirstClass()),每次调用时都会建立并返回新的实例对象。 类属性:class语句一般是在其所在文件导入时执行的。class语句内的赋值语句会创建类的属性,class语句的作用域会变成类属性的命名空间,类属性可由这个类的所有实例共享。 实例属性:每个实例对象继承类的属性并获得了自己的命名空间。由类所创建的实例对象是新的命名空间。一开始是空的,但是会继承类对象内的属性。在构造方法中,第一个参数self会引用当前的实例对象,对self的属性做赋值运算,会创建或修改实例内的数据,而不是类的数据。 类方法:尽管很少用到,Python还支持类方法的概念,只是类的一种方法,传递给它的第一个参数是一个类对象而不是一个实例,不管是通过一个实例或一个类调用它。 实例方法:在调用时会传入一个实例对象,通过实例对象可以访问该实例的属性或方法,当然也可以访问类属性和类方法。当然如果这里是赋值操作那么将不再是对类属性的访问,而是创建一个当前对象的实例属性。

要回复问题请先登录注册