實(shí)例化對(duì)象在python中是哪一步 new和init的區(qū)別?
new和init的區(qū)別?1.首先,用法不同。__new__()用于創(chuàng)建實(shí)例,因此在創(chuàng)建實(shí)例之前調(diào)用此方法。它是類級(jí)方法,也是靜態(tài)方法。__init__()用于初始化實(shí)例,因此在創(chuàng)建實(shí)例對(duì)象后調(diào)用此方法
new和init的區(qū)別?
1.首先,用法不同。__new__()用于創(chuàng)建實(shí)例,因此在創(chuàng)建實(shí)例之前調(diào)用此方法。它是類級(jí)方法,也是靜態(tài)方法。
__init__()用于初始化實(shí)例,因此在創(chuàng)建實(shí)例對(duì)象后調(diào)用此方法。這是一個(gè)實(shí)例級(jí)方法,用于設(shè)置對(duì)象屬性的一些初始值。
因此,__new__()在__init__()之前被調(diào)用。如果__new__()創(chuàng)建了當(dāng)前類的實(shí)例,它會(huì)自動(dòng)調(diào)用__init__()函數(shù),return調(diào)用的__new__()的參數(shù)cls保證是當(dāng)前類的實(shí)例。如果是其他類的類名,那么不會(huì)調(diào)用當(dāng)前類的__init__()函數(shù)。
2.其次,傳入?yún)?shù)不同
__new__()至少有一個(gè)參數(shù)cls,代表當(dāng)前類,這個(gè)參數(shù)在實(shí)例化時(shí)被Python解釋器自動(dòng)識(shí)別;
__init__()至少有一個(gè)參數(shù)s
python類屬性和對(duì)象屬性的區(qū)別?
Python和其他面向?qū)ο笳Z言類似,兩者的主要區(qū)別在于概念和功能的不同。
它的類屬性是一個(gè)抽象概念,是一組具有相同屬性和服務(wù)的對(duì)象。
對(duì)象屬性是具體的,是類實(shí)例化的結(jié)果,構(gòu)成了系統(tǒng)的一個(gè)基本單元。
在編程語言中,面向過程與面向?qū)ο蟮膮^(qū)別在哪??jī)?yōu)缺點(diǎn)在哪?
面向?qū)ο蠛兔嫦蜻^程是編程的兩種思維。
我們很容易理解洗衣服的例子:
任務(wù):給一堆臟衣服讓你洗。
面向過程:
把衣服扔進(jìn)盆里→放洗潔精→排水→洗衣服→洗衣服→擰干衣服→晾干衣服。
現(xiàn)在你給了洗衣機(jī)一些流程動(dòng)作(排水、洗衣服、洗衣服、擰衣服)。這時(shí)候物體就誕生了,就是洗衣機(jī)!
面向?qū)ο?
衣服放洗衣機(jī)里→放洗衣機(jī)里→(洗衣機(jī)。排水()→洗衣機(jī)。洗衣服()→洗衣服。機(jī)器。洗衣服()→洗衣機(jī)。絞衣服()→晾衣服。
創(chuàng)建好洗衣機(jī)這個(gè)對(duì)象后,你需要做的就是括號(hào)外的東西,相當(dāng)于把任務(wù)發(fā)給外包公司。至于怎么洗,是洗衣機(jī)廠家的問題。反正買了洗衣機(jī)我就要負(fù)責(zé)洗衣服!
當(dāng)然也可以做一些洗衣機(jī)動(dòng)作,然后扔到洗衣機(jī)里。比如洗完衣服,用洗衣機(jī)擰干衣服()。
可以看出:
面向過程就是做一些解決問題的動(dòng)作。
面向?qū)ο缶褪前岩恍┙鉀Q問題的動(dòng)作封裝起來交給一個(gè)對(duì)象,這個(gè)對(duì)象有解決問題的方法和一定的工作流程。
歡迎關(guān)注我的官方賬號(hào):ninechapter,幫助你了解IT技術(shù)前沿,通過面試獲得offer,找到好工作!