o2_定义一个类,封装方法和属性.py
1 # Learner BM 2 """ 3 定义类 4 class Name(): 5 定义方法 6 def 方法名字 (self ,参数): 7 pass 8 9 10 创建对象 ,创建对象类名后方无需冒号 11 12 对象名 = 类名() 13 14 15 16 """ 17 # 小猫爱吃鱼类 18 class Cat(): 19 20 # 封装猫的方法 21 def eat(self): 22 print('eat fish') 23 24 def drink(self): 25 print('drink water') 26 # 创建对象,对象可以创建多个,都能调用类的方法,内存引用地址不一致 27 tom = Cat() 28 # 创建第二个对象,内存引用地址不一致 29 jerry = Cat() 30 # 对象调用自己的方法,方法需要对象配合,函数不需要,直接调用就行了 31 tom.eat() 32 tom.drink()

o3_self详细介绍.py (实现对象内部的跨方法调用属性和方法)
1 # Learner BM 2 3 """ 4 类中定义方法是时候,每个类方法会默认多一个self参数 5 6 self 参数类似java内部的this关键字,作用是,哪个对象调用此方法时,self保存的就是哪个对象的引用 7 8 # 封装猫的方默认self参数代表那个对象调用,self就是哪个对象,可以访问此对象的属性,和其他方法 9 # 当tom对象调用Cat类的eat方法时候,self指向tom的地址引用.在方法内部可以通过self.属性方式获取对象的属性 10 # 当jerry对象调用Cat类的eat方法时候,self指向tom的地址引用.在方法内部可以通过self.属性方式获取对象的属性 11 12 """ 13 14 15 class Cat(): 16 17 # 封装猫的方默认self参数 18 # 当tom对象调用Cat类的eat方法时候,self指向tom的地址引用.在方法内部可以通过self.属性方式获取对象的属性 19 # 当jerry对象调用Cat类的eat方法时候,self指向tom的地址引用.在方法内部可以通过self.属性方式获取对象的属性 20 def eat(self): 21 print('eat fish') 22 # 对象调用drink方法,通过self指向 23 self.drink() 24 def drink(self): 25 print('drink water') 26 # 创建对象,对象可以创建多个,都能调用类的方法,内存引用地址不一致 27 tom = Cat() 28 # 创建第二个对象,内存引用地址不一致 29 jerry = Cat() 30 # 对象调用自己的方法,方法需要对象配合,函数不需要,直接调用就行了 31 tom.eat() 32 33 34 """ 35 一句话总结,在类中,对象的属性和方法需要 夸方法调用的时候,必须使用self关键字, 36 因为哪个对象调用方法,self中保存的就是那个对象的引用地址 37 """

o4_初始化方法__init__.py

1 # Learner BM 2 """ 3 定义类时候,需要初始化对象的方法可以直接使用def关键字定义,同理,定义对象的属性时,也使用方法,不过需要使用python提供的内置方法__init 4 5 def __init(self:,name,age) 6 self.name= 7 self.age = 8 """ 9 class Cat(): 10 # 初始化方法,固定模式,用于定义类的属性 11 # __init__方法无需调用,创建实例时候此方法会自动调用 12 # init的参数,参数,创建对象时候,需传递的参数, 13 def __init__(self,name,age): 14 print('这是一个初始化方法,无需手动调用,自动调用') 15 # 初始化方式定义属性,能够实现夸方法调用 16 #self.name='Tom' # 此方式不推荐,属性固定死,所有实例属性一致,可以采取使用参数形式传递 17 18 self.name = name # 左边的self.name是对象的属性名,右边的name是变量(通过参数传递进来,赋值给左边的变量) 19 20 self.age = age # age同理name,方法内部调用的都是左边 21 22 def run(self): 23 # 跨方法调用,属性name 24 print('%s在跑步' % self.name) 25 """ 26 __del__方法,对象离开前,被自动调用的方法,删除对象前可以在程序中干点事 27 28 """ 29 def __del__(self): 30 31 print('我是del方法,自动调用') 32 """ 33 __Str__方法进行重写,输出对象自定义内容,print(对象),默认输出内存地址,可以进行更改, 34 35 *****注意,Str方法需要返回值,return 36 """ 37 def __str__(self): 38 # str方法必须要有返回值 39 return '我是一只猫,我的名字是 %s' %self.name 40 41 42 tom = Cat('Tom',38) 43 print(tom.name) 44 print(tom.age) 45 tom.run() 46 # 打印tom默认输出对象的内存地址,重写str方法,输出想要的内容 47 print(tom)
浙公网安备 33010602011771号