Python学习-- 魔法⽅法

魔法方法

在Python中,__xx__()的函数叫做魔法⽅法,指的是具有特殊功能的函数。

构造方法__init__()

__init__() ⽅法的作用:初始化对象。

class Washer(): 
 # 定义初始化功能的函数
 def __init__(self):
	 # 添加实例属性
	 self.width = 500
	 self.height = 800
 def print_info(self):
   # 类⾥⾯调⽤实例属性
   print(f'洗⾐机的宽度是{self.width}, ⾼度是{self.height}')

haier1 = Washer()
haier1.print_info()

注意:
init() ⽅法,在创建⼀个对象时默认被调⽤,不需要⼿动调⽤
init(self) 中的self参数,不需要开发者传递,python解释器会⾃动把当前的对象引
⽤传递过去。

带参数的__init__()

class Washer():
 def __init__(self, width, height):
	 self.width = width
	 self.height = height
 def print_info(self):
	 print(f'洗⾐机的宽度是{self.width}')
	 print(f'洗⾐机的⾼度是{self.height}')
haier1 = Washer(10, 20)
haier1.print_info()
haier2 = Washer(30, 40)
haier2.print_info()

__str__()类型Java中的to_string()

当使⽤print输出对象的时候,默认打印对象的内存地址。如果类定义了__str__⽅法,那么就会打印从在这个⽅法中 return的数据。

class Washer():
 def __init__(self, width, height):
	 self.width = width
	 self.height = height
 def __str__(self):
 	return '这是海尔洗⾐机的说明书'
haier1 = Washer(10, 20)
# 这是海尔洗⾐机的说明书
print(haier1)

__del__()

当删除对象时,python解释器也会默认调⽤ __del__()⽅法。

class Washer():
 def __init__(self, width, height):
	 self.width = width
	 self.height = height
 def __del__(self):
	 print(f'{self}对象已经被删除')
haier1 = Washer(10, 20)
# <__main__.Washer object at 0x0000026118223278>对象已经被删除
del haier1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值