python面向对象方法
作者:互联网
# 需求:洗衣机,功能:能洗衣服 # 1、定义洗衣机类 """ class 类名(): 代码 """ class Washer(): def wash(self): print("能洗衣服") # 2 创建对象 # 对象名 = 类名() haier = Washer() # 3、验证成果 # 打印haier对象 print(haier) # 使用wash功能--实例方法/对象方法 --对象名.wash() haier.wash() # 类:洗衣机,功能:能洗衣服 class Washer(): def wash(self): print("洗衣服") print(self) haier1 = Washer() print(haier1) #<__main__.Washer object at 0x00000223270D9710> # haier.wash() #洗衣服 <__main__.Washer object at 0x00000223270D9710> # 由于打印对象和打印self得到的内存地址是一样的,所以self指的是调用该函数的对象 haier2 = Washer() print(haier2) # 一个类可以创建多个对象;多个对象都调用函数的时候,self地址是不相同的 添加和获取对象属性 属性即是特征,比如:洗衣机的宽度、高度、重量 对象的属性既可以在类外面添加和获取,也能在类里面添加和获取 1 类外面添加对象属性 # 语法 对象名.属性名 = 值 dg:haier.width = 500 class Washer(): def wash(self): print("洗衣服") haier1 = Washer() # 添加对象属性 haier1.width = 400 haier1.height = 500 # 类外面获取对象属性 # 获取属性 对象名.属性名 print("洗衣机的宽度是:%s"%haier1.width) #洗衣机的宽度是:400 print("洗衣机的高度是:%s"%haier1.height) #洗衣机的高度是:500 print("--------------------------------") # 类里面获取对象属性 # 语法: self.属性名 class myWasher(): def wash(self): print("洗衣服") # 获取对象属性 def print_info(self): # self.属性名 # print(self.width) print("洗衣机的宽度是:%s"%self.width) print("洗衣机的高度是:%s"%self.height) my_haier = myWasher() # 添加属性 my_haier.width = 400 my_haier.height = 500 # 对象调用方法 my_haier.print_info() # 魔方方法 # 在python中,__xx__的函数叫做魔法方法,指的是具有特殊功能的函数 # 体验__init__ # __init__()的方法作用:初始化对象 # __init__()方法,在创建一个对象时默认被调用,不需要手动调用 # __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去 # 目标:定义init魔法方法设置初始化属性,并访问调用 """ 1 定义类: init魔法方法:width 和 height 添加实例方法:访问实例属性 2 创建对象 3 验证结果 调用实例方法 """ class Washer(): def __init__(self): # 添加实例属性 self.width = 500 self.height = 800 def print_info(self): print("洗衣机的宽度是:%s"%self.width) print("洗衣机的高度是:%s"%self.height) haier = Washer() haier.print_info() #洗衣机的宽度是:500 洗衣机的高度是:800 # 带参数的__init__() # 思考:一个类可以创建多个对象,如何对不同的对象设置不同的初始化属性呢? 答:传参数 class Washer(): def __init__(self,width,height): # 添加实例属性 self.width = width self.height = height def print_info(self): print("洗衣机的宽度是:%s"%self.width) print("洗衣机的高度是:%s"%self.height) haier = Washer(100,200) haier.print_info() #洗衣机的宽度是:100 洗衣机的高度是:200 __str__() 当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了__str__方法,那么就会打印从这个方法中return的数据 class Washer(): def __init__(self): self.width = 300 def __str__(self): return '解释说明:类的说明或对象状态的说明' haier = Washer() print(haier) # 解释说明:类的说明或对象状态的说明 # __del__() # 当删除对象时,python解释器也会默认调用__del__()方法 class Washer(): def __init__(self): self.width = 300 def __del__(self): print("对象已经删除") haier = Washer() #对象已经删除 # del haier
标签:__,width,python,self,面向对象,print,Washer,方法,haier 来源: https://www.cnblogs.com/spp666/p/12098412.html