python類參數(shù)self使用示例
#coding:utf-8
"""
__new__和__init__到底是怎么一回事,看下面的代碼
如果類沒(méi)有定義__new__方法,就從父類繼承這個(gè)__new__方法。
__new__先于__init__執(zhí)行,類帶括號(hào)調(diào)用時(shí),發(fā)生這樣的一件事,
先調(diào)用類的__new__方法,放回該類的實(shí)例對(duì)象,這個(gè)實(shí)例對(duì)象就是__init__方法的第一個(gè)參數(shù)。
請(qǐng)看代碼中tmp,self,p的內(nèi)存地址都是一樣的,都是類的實(shí)例對(duì)象。
"""
class Foo(object):
def __new__(cls, *args, **kwargs):
"""如果不覆蓋這個(gè)__new__方法,也就是說(shuō)不寫這個(gè)__new__方法,類會(huì)從object
繼承__new__方法完成返回值實(shí)例對(duì)象
"""
print "__new__方法先被調(diào)用"
tmp = super(Foo,cls).__new__(cls,*args, **kwargs)
print id(tmp)
print type(tmp)
print isinstance(tmp,Foo)
print issubclass(type(tmp),Foo)
return tmp
def __init__(self):
"""self是python默認(rèn)傳的值,該值是調(diào)用__new__的返回值"""
print "__init__被調(diào)用"
print id(self)
p = Foo()
print id(p)
print type(p)
相關(guān)文章
用Python按時(shí)間分割txt文件中的數(shù)據(jù)方法步驟
這篇文章主要給大家介紹了如何用Python按時(shí)間分割txt文件中的數(shù)據(jù)的方法步驟,文中通過(guò)代碼示例給大家講解的非常詳細(xì),對(duì)大家學(xué)習(xí)Python處理txt文件有一定的幫助,需要的朋友可以參考下2023-12-12
使用Pandas實(shí)現(xiàn)清洗客戶編碼異常數(shù)據(jù)
在不同行業(yè)中,我們經(jīng)常會(huì)遇到一個(gè)麻煩的問(wèn)題:數(shù)據(jù)清洗,尤其是當(dāng)我們需要處理客戶編碼異常數(shù)據(jù)時(shí),下面小編就來(lái)和大家分享一下常用的解決辦法吧2023-07-07
django 通過(guò)URL訪問(wèn)上傳的文件方法
今天小編就為大家分享一篇django 通過(guò)URL訪問(wèn)上傳的文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python實(shí)現(xiàn)四舍五入的兩個(gè)方法總結(jié)
這篇文章主要介紹了python中實(shí)現(xiàn)四舍五入的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
Python?MCPInspector調(diào)試思路詳解
這篇文章主要介紹了Python?MCPInspector調(diào)試思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-05-05
Django 自定義404 500等錯(cuò)誤頁(yè)面的實(shí)現(xiàn)
這篇文章主要介紹了Django 自定義404 500等錯(cuò)誤頁(yè)面的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

