一、类与对象的成员
1.1 类的成员
1.1.1 类的成员定义
成员是指对象特有的一些属性,如人的身高、性别、年龄、学历等等。属于类的成员是该类所有对象共享的,类成员属于类,可以通过类名或对象名访问。下面我们以一个Student类来解释一下:
class Student(object):
age = 20
student1 = Student()
student2 = Student()
print(Student.age)
print(student1.age)
print(student2.age)
20
20
20
我们先定义了一个Student类,然后定义了一个类成员age,然后我们可以通过类名访问,也可以通过对象名访问。
1.1.2 修改和增加类成员
Python支持修改和动态增加类成员,我们看下面的例子:
class Student(object):
age = 20
Student.age = 22
Student.height = 180
student1 = Student()
student2 = Student()
print(Student.age)
print(student1.age)
print(student2.age)
print(Student.height)
print(student1.height)
print(student2.height)
22
22
22
180
180
180
我们可以发现类成员的值修改了,而且增加了一个类成员
1.2 对象的成员
1.2.1 对象的成员的定义
属于对象的成员主要指在构造函数__init__()中定义的,定义和使用时必须以 self 作为前缀,self 相当于对象本身,传入参数时不需要传入self参数。同一个类的不同对象之间的成员互不影响,只能通过对象名访问,下面以Student类来创建实例:
class Student(object):
def __init__(self,age,height):
self.age = age
self.height = height
student1 = Student(age = 20, height = 175)
student2 = Student(age = 25, height = 185)
print(student1.age)
print(student2.age)
print(student1.height)
print(student2.height)
20
25
175
185
由此可见,我们由Student类实例化的两个对象是不一样的。
1.2.2 修改和增加对象的成员
1、修改对象的成员,例子如下:
class Student(object):
def __init__(self,age):
self.age = age
student1 = Student(age = 20)
student2 = Student(age = 25)
print(student1.age)
print(student2.age)
student1.age = 28
print(student1.age)
print(student2.age)
20
25
28
25
我们发现当修改了student1的成员后,student2的成员并没有改变,这就说