码迷,mamicode.com
首页 > 其他好文 > 详细

魔方方法之--类的构造(__init__,__new__)和析构(__del__)方法

时间:2018-04-24 00:18:55      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:pre   回收   显示   类对象   创建   font   作用   分享   color   

  1. 构造方法(参见小甲鱼入门教程)

    __ init__()方法:类的初始化方法,初始化类对象时被调用,需要的时候再调用它

  注意点:这个方法的返回值必须None

技术分享图片
 class Rectangle():
       def __init__(self,width,height):
           self.width =width
           self.height=height  
View Code

 

 __ new __ ()方法:实际调调用在__ init __()之前.实例化对象时第一个被调用的方法.在新创建一个对象时调用,一般不会重写它,继承自不可变类型,才显示它的作用

技术分享图片
   class CapStr(str):
       def __new__(cls,string):
           string=str.upper(string)
           return str.__new__(cls,string)
   a=CapStr(I will be transfer)
   print(a) #结果 I WILL BE TRANSFER
View Code
  1. 析构方法

  ? __ del __ ()方法是垃圾回收机制回收对象时调用,对象被删除不一定会调用这个方法.对象地址里面的内容被删为空才会调用这个方法.

技术分享图片
  

def __del__(self):
    print(__del__方法被调用了)        
b,c=a,a
c=a
print(del a)
del a
print(del b)
del b
print(del c)
del c #__del__方法被调用了
View Code

 

 

魔方方法之--类的构造(__init__,__new__)和析构(__del__)方法

标签:pre   回收   显示   类对象   创建   font   作用   分享   color   

原文地址:https://www.cnblogs.com/zhizihuakai66/p/8922628.html

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