python 构造函数__new__(cls[,...]),析构器__del__()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 构造函数__new__(cls[,...]),析构器__del__()相关的知识,希望对你有一定的参考价值。

1 class capstr(str):
2     def __new__(cls,string):
3         string=string.upper()
4         return str.__new__(cls,string)
5 
6 a=capstr(ifuckyou)
7 print a

__new__是构造函数-------实例对象的建立

继承字符串类str,把字符串大写,然后用str.__new__()返回处理后的大写字符串

不同于__init__(),init是初始化函数,new才是构造函数,真正返回一个实例对象的函数,init并不返回实例对象

 

__del__   当实例对象要被析构

当要销毁一个对象时,__del__()就会被调用

 

主要是构造函数理解有一定的思考

 

以上是关于python 构造函数__new__(cls[,...]),析构器__del__()的主要内容,如果未能解决你的问题,请参考以下文章

python中单例模式的实现-通过闭包函数和魔术方法__new__实现单例模式

__new____init____call__三个特殊方法

知识点:构造和析构方法 __new__ , __init__ , __del__

Python之面向对象的进阶 (3-13)

Python 特殊关系

python常用魔术方法概览