魔法方法

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

1. __init__()

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

注意:
## __init__()方法,在创建一个对象时默认被调用,不需要手动调用
## __init__()方法中self参数,不需要开发者传递,Python解释器会自动把当前的对象引用传递过去

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

    def print_info(self):
        print(f'洗衣机的宽度是{self.width}')
        print(f'洗衣机的高度是{self.height}')

haier = Washer()
haier.print_info()

1.2 带参数的 __init__()

#1. 定义类:带参数的init
class Washer1():
    def __init__(self,width,height):
        self.width = width
        self.height = height

    def print_info1(self):
        print(f'洗衣机的宽度是{self.width},洗衣机的高度是{self.height}')

#2. 创建对象,创建多个对象且属性值不同,调用实例方法
haier1 = Washer1(100,200)
haier1.print_info1()

haier2 = Washer1(50,90)
haier2.print_info1()

2. __str__()

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

class Washer():
    def __init__(self):
        self.width = 500
        self.height = 800

    def __str__(self):
        return '解释说明:类的说明或对象状态的说明'

haier = Washer()
print(haier)   #打印的不再是内存地址,而是return返回值

3. __del__()

当删除对象时,Python解释器有也会默认调用__del__()方法(自动调用)。

class Washer():
    def __init__(self):
        self.width = 500
        self.height = 800

    def __del__(self):
        print(f'{self}对象已经被删除')

haier = Washer()

 

posted @ 2020-10-18 16:24  壹贰叁一  阅读(99)  评论(0)    收藏  举报