栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

软件测试Python魔法方法基础知识分享

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

软件测试Python魔法方法基础知识分享

#博学谷IT学习技术支持#

目录

一、前言

二、__init__方法

三、__str__ 方法

四、__del__ 方法

五、结尾


一、前言

小伙伴们,有一次见面了,本次分享一个很常见、很常用的Python基础知识点,在Python 中有一类方法, 以两个下划线开头,两个下划线结尾,并且在满足某个条件的情况下, 会自动调用, 这类方法称为 魔法方法。

接下来,咱们直接上干货。

二、__init__方法

1. 什么情况下自动调用
    > 创建对象之后会自动调用
2. 有什么用, 用在哪
    > 1. 给对象添加属性的, (初始化方法, 构造方法)   2. 某些代码, 在每次创建对象之后, 都要执行,就可以将这行代码写在 __init__ 方法
3. 书写的注意事项
    > 1. 如果 init 方法中,存在出了 self 之外的参数, 在创建对象的时候必须传参

"""
猫类, 属性 name, age , show_info(输出属性信息)
"""


class Cat:
    # 定义添加属性的方法
    def __init__(self, name, age):  # 这个方法是创建对象之后调用
        self.name = name  # 给对象添加 name 属性
        self.age = age   # 给对象添加 age 属性

    # 输出属性信息
    def show_info(self):
        print(f'小猫的名字是: {self.name}, 年龄是: {self.age}')


# 创建对象,不要在自己类缩进中创建
# Cat()  # 创建对象 ,会输出
blue_cat = Cat('蓝猫', 2)
blue.show_info()

# 创建黑猫
black_cat = Cat('黑猫', 3)
black_cat.show_info()

三、__str__ 方法

1. 什么情况下自动调用
    > 使用 print(对象) 打印对象的时候 会自动调用
2. 有什么用, 用在哪
    > 在这个方法中一般书写对象的 属性信息的, 即打印对象的时候想要查看什么信息,在这个方法中进行定义的
    > 如果类中没有定义 __str__ 方法,  print(对象) ,默认输出对象的引用地址
3. 书写的注意事项
    > 这个方法必须返回 一个字符串

class Cat:
    # 定义添加属性的方法
    def __init__(self, n, age):  # 这个方法是创建对象之后调用
        self.name = n  # 给对象添加 name 属性
        self.age = age   # 给对象添加 age 属性

    def __str__(self):
        # 方法必须返回一个字符串, 只要是字符串就行,
        return f'小猫的名字是: {self.name}, 年龄是: {self.age}'


# 创建对象,不要在自己类缩进中创建
# Cat()  # 创建对象 ,会输出
blue_cat = Cat('蓝猫', 2)
print(blue_cat)

# 创建黑猫
black_cat = Cat('黑猫', 3)
print(black_cat)

四、__del__ 方法

__init__ 方法, 创建对象之后,会自动调用  (构造方法)
__del__ 方法, 对象被删除销毁时, 自动调用的

1. 调用场景, 程序代码运行结束, 所有对象都被销毁
2. 调用场景, 直接使用 del 删除对象

class Demo:
    def __init__(self, name):
        print('我是 __init__, 我被调用了 ')
        self.name = name

    def __del__(self):
        print(f'{self.name} 没了, 给他之后处理...')


# Demo('a')

a = Demo('a')

b = Demo('b')
del a  # 删除销毁 对象,
print('代码运行结束')

五、结尾

今天分享给大家魔法方法只有3个,还有一个__main__的待分享之后大家去自行了解吧。

期待下次相见吧!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008749.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号