最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python類(lèi)參數(shù)self使用示例

 更新時(shí)間:2014年02月17日 09:24:40   作者:  
python中__new__和__init__到底是怎么一回事,使用方法看下面的代碼,大家參考使用吧

復(fù)制代碼 代碼如下:

#coding:utf-8
"""
__new__和__init__到底是怎么一回事,看下面的代碼
如果類(lèi)沒(méi)有定義__new__方法,就從父類(lèi)繼承這個(gè)__new__方法。
__new__先于__init__執(zhí)行,類(lèi)帶括號(hào)調(diào)用時(shí),發(fā)生這樣的一件事,
先調(diào)用類(lèi)的__new__方法,放回該類(lèi)的實(shí)例對(duì)象,這個(gè)實(shí)例對(duì)象就是__init__方法的第一個(gè)參數(shù)。
請(qǐng)看代碼中tmp,self,p的內(nèi)存地址都是一樣的,都是類(lèi)的實(shí)例對(duì)象。
"""

class Foo(object):
    def __new__(cls, *args, **kwargs):
        """如果不覆蓋這個(gè)__new__方法,也就是說(shuō)不寫(xiě)這個(gè)__new__方法,類(lèi)會(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)文章

最新評(píng)論

额敏县| 沂南县| 吉首市| 翁牛特旗| 和平县| 镇巴县| 方城县| 白朗县| 新民市| 沛县| 宁德市| 南乐县| 民权县| 雅江县| 阿图什市| 涞水县| 克山县| 和林格尔县| 台北市| 肇源县| 黄浦区| 维西| 青龙| 玛曲县| 中宁县| 大化| 镇巴县| 宁乡县| 嫩江县| 泰和县| 许昌市| 仙游县| 饶阳县| 银川市| 那坡县| 潍坊市| 天津市| 卢氏县| 贵南县| 新沂市| 老河口市|