欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 网安小白筑基篇五:web后端基础之Python(补充Python的魔术方法)

网安小白筑基篇五:web后端基础之Python(补充Python的魔术方法)

2025/6/7 11:55:51 来源:https://blog.csdn.net/weixin_42569890/article/details/147005418  浏览:    关键词:网安小白筑基篇五:web后端基础之Python(补充Python的魔术方法)

Python

安装使用PyCharm

在网上找破解版,把破解jar文件拖进pycharm,help出现eval reset则成功

Python基础语法

见作者《网安小白学python》的python知识专栏

Python函数

见作者《网安小白学python》的python知识专栏

Python模块

见作者《网安小白学python》的python知识专栏

Python类和对象

见作者《网安小白学python》的python知识专栏

Python魔术方法

什么是Python魔术方法

  • Python中的魔术方法(Magic Methods),也被称为 双下划线方法(Dunder Methods)或特殊方法(Special Methods),是一类具有特殊命名规则的方法。它们的主要作 用是为Python中的对象提供内置的、特殊的行为。这些方法 的名称前后都带有两个下划线,如下。

__init__方法

  • 触发机制:在实例化对象之后立即触发

  • 举例说明

    class Person:def __init__(self,name,age): #self为对象自身,name,age为属性print("初始化")self.name=name #实例化时进行赋值self.age=age #实例化时进行赋值def display(self):print("名字是",self.name,",年龄是",self.age)
    p1 = Person("小明","24") #创建对象
    p1.display()
    

    在这里插入图片描述

__new__方法

  • 触发机制:实例化对象时自动触发(在__init__之前触发)。

  • 在Python中,__new__方法是一个静态方法(尽管不需要显式使用@staticmethod装饰器),它负责创建并返回一个类的实例。__new__方法的第一个参数 cls 表示当前正在被实例化的类本身(类似于普通方法中的self,但self指实例,而cls指类)。

  • 在自定义__new__时,通常需要通过super().new(cls)调用父类的__new__来创建实例(通常是object.new)。

  • 举例说明

    class Myclass:def __new__(cls,*args,**kwargs): #该方法必须带上cls(class)参数,代表参数接受当前类print("创建对象中")xyz = super().__new__(cls) #super是python的内置函数,super().__new__(cls)用于调用父类的__new__()方法来创建实例return xyz;#需要将创建的实例返回def __init__(self,name,age): #self为对象自身,name,age为属性print("初始化")self.name=name #实例化时进行赋值self.age=age #实例化时进行赋值def display(self):print("名字是",self.name,",年龄是",self.age)
    p1 = Myclass("小明","24") #创建对象
    p1.display()
    

    在这里插入图片描述

__del__方法

  • 触发机制:当该类对象被销毁时,自动触发。

  • 举例说明:

    class Myclass:def __init__(self,data="初始值"):print("init魔术方法")self.data=datadef __del__(self): #self为对象自身,name,age为属性print("销毁对象")def display(self):print(self.data)
    p1 = Myclass("你好") #创建对象
    p1.display()
    del p1;#删除对象
    

    在这里插入图片描述

    python具备垃圾回收的机制

__str__方法

  • 触发机制:使用print(对象)或str(对象)时触发。

__getitem__方法

  • 触发机制:获取对象中指定键的值时触发。

__setitem__方法

  • 触发机制:设置对象中指定键的值时触发

__call__方法

  • 触发机制:将对象当做函数调用时触发,即使用对象()形式。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词