码迷,mamicode.com
首页 > 编程语言 > 详细

Python 魔法方法

时间:2020-02-16 16:41:45      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:析构器   int   def   删除   函数调用   自动   __new__   直接   生成   

魔法方法

__new__  :  先于__init__方法,每生成一个实例执行一次,__new__ 类方法创建实例对象

__init__   :  __init__方法每生成一个实例就会执行一次,初始化实例对象

__call__  :   后与__init__方法,C()() 使用类再加一个括号调用, C为类名称

__del__   :   析构方法,删除无用的内存对象(当程序结束会自动自行析构方法)

class A:
    def __new__(cls, *args, **kwargs):
        # 构造器函数
        print('new')
        return super().__new__(cls, *args, **kwargs)


    def __init__(self):
        # 数据初始化函数
        print('init')
        self.a = 1

    def __del__(self):
        # 析构器函数
        print('del')

    def __call__(self):
        # 将当前类对象实例可以直接作为函数调用
        print('我是call函数')

a = A()
a()
del a     # 当程序运行完退出del会释放内存,释放空间。

Python 魔法方法

标签:析构器   int   def   删除   函数调用   自动   __new__   直接   生成   

原文地址:https://www.cnblogs.com/xinzaiyuan/p/12317041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!