魔法方法

魔法方法

__xx__()的函数叫做魔法方法,指的是具有特殊功能的函数

初始化对象

class Washer():
	
	# 定义__init__(),添加属性
	def __init__(self):
		# 添加实例属性
		self.width = 500
		self.height = 800

	def print_info(self):
		# 类里面调用实例属性
		print(f'洗衣机的宽度是{self.width}, 高度是{self.height}')

haier1 = Washer()
haier1.print_info()

注意:

  1. __init__() 方法,在创建一个对象时默认被调用,不需要手动调用
  2. __init__(self) 中的self参数,不需要开发者传递,python解释器会自动被当前的对象引用传递过去
class Washer():
	
	# 定义__init__(),添加属性
	def __init__(self, width, height):
		# 添加实例属性
		self.width = width
		self.height = height

	def print_info(self):
		# 类里面调用实例属性
		print(f'洗衣机的宽度是{self.width}, 高度是{self.height}')

haier1 = Washer(10, 20)
haier1.print_info()

haier2 = Washer(30, 40)
haier2.print_info()

当使用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)

删除对象时,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)

del haier1 # 此时会调用__del__()方法