新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中__init__和__new__的對比
作用不同

永仁ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
1、____new____ 是用來創(chuàng)建類并返回這個類的實例,而 ____init____ 只是將傳入的參數(shù)來初始化該實例。
__init__() 初始化方法 和 __new__(),通過類創(chuàng)建對象時,自動觸發(fā)執(zhí)行。
概念不同
2、__new__() 創(chuàng)建對象時調(diào)用,會返回當前對象的一個實例
__init__() 創(chuàng)建完對象后調(diào)用,對當前對象的一些實例初始化,無返回值
實例
# __init__ 、 __new__
class Student(object):
def __init__(self, name, age):
print('__init__() called')
self.name = name
self.age = age
def __new__(cls, *args, **kwargs):
print('__new__() called')
print(cls, args, kwargs)
return super().__new__(cls)
# ipython 測驗
In [26]: s1 = Student('hui', age=21)
__new__() called
('hui',) {'age': 21}
__init__() called
In [27]: s2 = Student('jack', age=20)
__new__() called
('jack',) {'age': 20}
__init__() called 以上就是python中__init__ 和__new__的對比,希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
分享名稱:創(chuàng)新互聯(lián)Python教程:python中__init__和__new__的對比
地址分享:http://www.dlmjj.cn/article/cdopsdp.html


咨詢
建站咨詢
