1 对象与类
1 #第一部分:对象与类 2 #类是对象的抽象,是对象的模板 3 4 #定义一个Person类 5 class Person: 6 pass 7 8 #创建Person类的一个实例 9 p1 = Person() 10 11 #Person中没有定义类的特征和行为,可以在实例上定义实例的特征和行为 12 #但更倾向于把类的特征和行为定义在类中,默认情况下类中的特诊都是公开的 13 14 #完善Person类,重新定义一个MyPerson类 15 class MyPerson(): 16 name = ‘‘ 17 age = 0 18 gender = ‘‘ 19 20 #然后定义两个该类的实例 21 mp1 = MyPerson() 22 mp2 = MyPerson() 23 24 #修改实例mp1的年龄 25 mp1.age = 20 26 print(mp1.age) #20 27 print(mp2.age) #0 28 29 #可见修改一个对象的实例属性值,被不会影响该类的其他对象的实例相同属性的值
2 类的构造函数和类成员初始化
1 #第二部分:类的构造函数和类成员初始化 2 #在Python中,class_name() 就是构造函数,及类名后边加括号,作用是为类成员赋初始值 3 #可以用这种方法将类的成员和类实例的成员区分开 4 #定义一个Person类 5 class Person(): 6 def __init__(self,age=0,gender=‘‘,name=‘‘): #使用到了默认参数 7 self.name = name 8 self.age = age 9 self.gender = gender 10 11 #__init__()函数在创建Person类的实例调用 12 #self表示具体的对象 13 14 #创建一个实例 15 p = Person(name = ‘Mark‘,age = 20,gender = ‘男‘) 16 #创建实例的过程就是先调用__init__()函数,给类属性赋初始值 17 print(p.age) #20 18 19 #还可以再类属性的基础上,添加实例属性 20 p.weight = 60 #体重 21 print(‘p对象的实例属性:{}‘.format(p.weight)) 22 23 #p.weight跟Person类的其他实例无关,是p实例自己的。
3 实例方法
1 #第三部分:实例方法 2 class Person: 3 def __init__(self,name=‘‘,age=0,gender=‘‘): 4 self.name = name 5 self.age = age 6 self.gender = gender 7 8 def say(self): 9 print(‘{} 说:hello‘.format(self.name)) 10 11 #say()函数是类的函数,该类的所有实例都会有这个方法 12 13 #创建两个该类的实例 14 p1 = Person(‘zhangsan‘,20,‘男‘) 15 p2 = Person(‘lisi‘,20,‘女‘) 16 17 p1.say() #zhangsan 说:hello 18 p2.say() #lisi 说:hello 19 20 #self代表的是在内存中产生的实例 21 #对于实例p1来说,self代表的就是p1 22 #所以定义在类中的带self的方法都是实例方法