"Python面向对象1:类和实例属性绑定"

需积分: 0 0 下载量 105 浏览量 更新于2024-02-01 收藏 45KB DOCX 举报
Python面向对象编程是一种常用的编程思想,它的核心概念是类和实例化。在Python中,我们可以通过定义类来创建实例,通过实例化对象来调用类中的方法和属性。 在Python中,创建实例有两种方式:通过实例变量和通过self变量。通过实例变量来创建实例时,可以随意绑定属性。例如,给实例s绑定name属性,可以使用s.name = 'Bob'的方式。需要注意的是,这样的绑定是针对该实例的,其他实例无法访问到该属性。 另一种方式是通过self变量来创建实例。在类中的方法中,self代表实例本身。通过self.variable_name的方式给实例绑定属性,例如self.name = 'Bob'。这种方式在类的初始化方法(__init__)中常见,用于初始化实例的属性。 除了给实例绑定属性,我们还可以给类本身绑定属性。在类的定义中,直接定义属性,这种属性是类属性,归类所有。例如class Student(object): name = 'Student'。当定义了类属性后,该属性虽然属于类,但所有实例都可以访问到。 下面我们以一个学生类(Student)为例,来对上述概念进行实际演示。 ```python class Student(object): name = 'Student' def __init__(self, name): self.name = name s = Student('Bob') s.score = 90 print(s.name) # 输出Bob,实例属性 print(Student.name) # 输出Student,类属性 s2 = Student('Alice') print(s2.name) # 输出Alice,实例属性,与s实例无关 ``` 以上代码中,首先定义了一个Student类,其中包含一个类属性name,并且定义了一个初始化方法__init__来初始化实例属性name。在主程序中,我们首先创建了一个实例s,通过实例变量绑定了属性score,并且通过实例变量和类变量分别访问了name属性。接着,我们创建了另一个实例s2,同样访问了name属性。通过运行代码,可以看到输出结果符合预期。 总结而言,Python面向对象编程中,类和实例是重要的概念。通过类可以定义属性和方法,通过实例化对象可以调用类中的方法和属性。在创建实例时,可以通过实例变量和self变量分别绑定属性。通过直接在类中定义属性,可以创建类属性,该属性属于类所有,但实例也可以访问到。这种灵活性是Python面向对象编程的一大特点。