当前位置: > python教程 > python高级教程 >

python中new方法讲解
栏目分类:python高级教程   发布日期:2019年04月19日 14:31:52   浏览次数:

上次给大家带来了python魔法方法中的init和del方法,这次给大家带来new方法,它也和其它两种方法一样,也有点难度,接下来我给大家讲解一下它。
一,new方法与init方法的执行顺序:new方法在init方法之前就会使用。代码如下:
class Rectangle:    第1行
       def __init__(self):   第2行
              print(‘初始化……’) 第3行
       def __new__(cls, *args, **kwargs):       第4行
              print(‘new方法’)          第5行
a= Rectangle()             第6行
 
new方法
 
执行代码:
第1行:定义一个类。
第2行:init方法。
第3行:在调用init方法时的输出内容。
第4行:new方法,后面的为默认的参数。
第5行:在调用new方法时的输出内容。
第6行:输出Rectangle()这个类的实力对象。
二,将init方法内容显示出来。
class Rectangle:    第1行
def __new__(cls, *args, **kwargs):       第2行
              print(‘new方法’)                 第3行
return object.__new__(cls)   第4行  
def __init__(self):   第5行
              print(‘初始化……’) 第6行
a= Rectangle()             第7行
 
new方法
初始化……
 
第1行:定义一个类。
第2行:new方法,后面的为默认的参数。
第3行:在调用new方法时的输出内容。
第4行:想要在new方法之后继续执行程序,则加上此代码。
第5行:init方法。
第6行:在调用init方法时的输出内容。
第7行:输出Rectangle()这个类的实力对象。
以上就是new方法的简单讲解,从中可以得出以下结论:
1:new方法时类创建实例时自动调用。
2:实例是通过类里面的new方法在类创建出来的
3:先调用new方法创建实例,再调用init方法初始化实例。
4:new方法,后面括号里的cls代表的是类本身。
从上面得知,打印cls时显示的是Base类。虽然这好像比init和del方法简单一点。但是还是要多敲代码。

相关热词:

热门关键词
python字符串
     
python教程 python爬虫 python人工智能 Python+大数据 python问答