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__()就会被调用

 

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

 

posted @ 2017-11-10 17:18  lee_kuen_fai  阅读(301)  评论(0)    收藏  举报