1、类变量(类属性)和实例变量(实例属性)
class Person:
name= '小明'
def say(self, content):
print(content)
类Person中,类属性name被所有实例所共享,实例属性content为每个Person的实例所共有;
类变量指的是在类中,但在各个类方法外定义的变量,它调用方式有 2 种,既可以使用类名直接调用,也可以使用类的实例化对象调用。
#使用类名直接调用
print(Person.name)
#修改类变量的值
Person.name = "小红"
print(Person.name)
#类对象来调用所属类中的类变量(不推荐使用)
Person= Person()
print(Person.name)
实例变量指的是在任意类方法内部,以“self.变量名”的方式定义的变量,其特点是只作用于调用方法的对象。另外,实例变量只能通过对象名访问,无法通过类名访问。上例中 content 即为实例变量
2、类对象和实例对象
2.1 类对象
Python
一切皆对象;类定义完成后,会在当前作用域中定义一个以类名为名字,指向类对象的名字。如上图
会在当前作用域定义名字 Person,指向类对象 Person。
类对象支持2个操作:实例化、属性引用
2.2 实例对象
实例对象是类对象实例化的产物,实例对象仅支持一个操作:属性引用