麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python中實(shí)例化class的執(zhí)行順序示例詳解

2020-02-15 23:12:02
字體:
供稿:網(wǎng)友

前言

本文主要介紹了關(guān)于Python實(shí)例化class的執(zhí)行順序的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細(xì)的介紹吧

Python里對類的實(shí)例化時有怎樣的順序

一般來說一個類里面有類變量和方法,比如我們定義一個名為A的類

class A(): bar = "my lover love me"  def __init__(self, name):  print('A的class' ,self.__class__, name)

我們在這個類里面定義了一個類變量bar和一個構(gòu)造方法__init__,那么我們實(shí)例化A()時都發(fā)生了什么呢!看官不要急,聽我慢慢道來...

首先,python 調(diào)用內(nèi)置的type類,沒有聽錯,就是我們平時用來測引用類型的那個type,然后type調(diào)用內(nèi)置的元類mateClass,mateClass再調(diào)用__new__方法將類實(shí)例化,此時完成了第一步 然后,這個實(shí)例將會初始化自己的類變量,就是把自己從頭到尾掃視一遍, 之后,進(jìn)入構(gòu)造方法,并初始化自己的實(shí)例變量。

注意:python中類變量和實(shí)例變量是不一樣的,
類變量:不用實(shí)例化也可以訪問。
實(shí)例變量:是動態(tài)創(chuàng)建的。必須實(shí)例化之后才可以訪問,因為之前是不存在的。

比如下面這個例子:不實(shí)例化訪問類變量

class A(): a = 2print(A.a)

輸出:

>>>2

說了這么多,上代碼。看看類繼承時怎么運(yùn)行的:

class A(): def __init__(self, name):  print('A的class' ,self.__class__, name)  class B(A): def __init__(self, name):  self._name = name  A.__init__(self, name)  print('B的class', self.__class__, name) print('this is B class')  class C(B): def __init__(self, name):  B.__init__(self, name)  print('C的class')  if __name__ == '__main__':c = C('lee')

輸出如下:

this is B class
A class <class '__main__.C'> lee
B class <class '__main__.C'> lee
C class

來現(xiàn)身說法,解釋一波

首先對class C()進(jìn)行實(shí)例化,從頭到尾掃一遍,然后進(jìn)入C()的構(gòu)造,遇到了父類C()的構(gòu)造方法B.__init__ 。 進(jìn)入class B(),從頭到尾掃一遍,執(zhí)行了print('this is B class')語句然后進(jìn)入B()的構(gòu)造,遇到了父類B()的構(gòu)造方法A.__init__。 進(jìn)入class A(),從頭到尾掃一遍,然后進(jìn)入A()的構(gòu)造方法A.__init__。然后A.__init__執(zhí)行完畢并彈出棧,class A()執(zhí)行完畢并彈出棧。 回到class B(),從上次未執(zhí)行完的地方print('B的class', self.__class__, name)繼續(xù)執(zhí)行。然后B.__init__執(zhí)行完畢并彈出棧,class B()執(zhí)行完畢并彈出棧。 回到class C(),從上次未執(zhí)行完的地方print('C的class')繼續(xù)執(zhí)行。然后C.__init__執(zhí)行完畢并彈出棧,class C()執(zhí)行完畢并彈出棧。程序運(yùn)行完畢。 由于是對class C()進(jìn)行實(shí)例化,上面的self都是指class C()的實(shí)例而不是class A()的或者class B()的。因此self.__class__清一色的顯示
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 可以看逼的视频 | 特片网久久 | 欧洲精品色 | 麻豆911| 一本色道久久综合狠狠躁篇适合什么人看 | 欧美另类综合 | 亚洲欧洲日产v特级毛片 | 日韩视频一区二区 | 国产伦精品一区二区三区在线 | 日韩a毛片免费观看 | 色综合网在线观看 | 摸逼逼视频 | 免费观看一级淫片 | 国产精品99爱 | 国产视频第一区 | 一级在线观看视频 | 香蕉视频99 | 有兽焉免费动画 | 国产一国产精品一级毛片 | 一级做a爰片性色毛片2021 | 九九热免费在线观看 | 欧美三级欧美成人高清www | 欧美成人一级片 | 主播粉嫩国产在线精品 | 欧美成人高清视频 | 日韩美香港a一级毛片 | 日本羞羞的午夜电视剧 | 超级av在线 | 国产精品一区99 | 在线播放污 | 亚洲精品a级 | 久久草草影视免费网 | 久久久久久久久久一本门道91 | 日韩黄色片在线观看 | 国产亚洲精品久久久久久久软件 | 日本欧美一区 | 永久免费黄色大片 | 国产精品性夜天天视频 | 欧美一级淫片免费视频1 | 欧美成人免费香蕉 | 爱逼爱操综合网 |