黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python類的實例化順序以及和java的異同

系統 2185 0

版權聲明:轉載請注明作者(獨孤尚良dugushangliang)出處: https://blog.csdn.net/dugushangliang/article/details/90200689

?

python代碼如下。

            
              class Son():
    def __init__(self):
        print ( "son say hi" )
    print("haha")
 
if __name__=='__main__':
    son=Son()
            
          

運行結果如下:

再試用下面代碼,只有幾個類的定義,沒有實例化。

            
              class Fb():
    def __init__(self):
        print ( "Fb類的構造函數" )
    print("Fb類的普通語句")
class Fa():
    def __init__(self):
        print ( "Fa類的構造函數" )
    print("Fa類的普通語句")

class Fc(Fa):
    #def __init__(self):
        #print ( "Fc類的構造函數" )
    print("Fc類的普通語句")
 
class Son(Fc):
    ss=12
    def __init__(self):
        #super().__init__()
        #Fb.__init__(self)
        print ( "子類的構造函數" )
    print("子類的普通語句")
            
          

結果為:

由此得知,python類在創建對象時,及實例化時才執行構造函數__init__。而在程序剛開始,運行到類的定義時,會先執行類的普通語句,對類進行一個注冊,注冊是按照類定義的先后順序執行的。

這個和java有些相似之處和不同之處。

java的類中除了變量和方法外,可以有初始化塊,java的初始化塊是需要使用到某些類的時候才開始執行相應類的初始化塊等,沒有使用的類即使有定義也不會執行其初始化代碼塊。而python的類是只要有類定義就執行這些類的普通語句,即使有的類最后并沒有使用,等實例化某類的時候再啟動某類的構造函數。

如果涉及繼承,也有不同。python是先執行完所有的普通語句,再執行構造函數。java是根據繼承順序,先執行靜態初始化塊,再根據類的繼承順序逐個地先執行普通初始化塊再執行構造函數。

java創建實例時代碼執行順序 python創建實例時代碼執行順序
父類的靜態初始化塊 父類的普通語句
子類的靜態初始化塊 子類的普通語句
父類的普通初始化塊 ?
父類的構造函數 父類的構造函數
子類的普通初始化塊 ?
子類的構造函數 子類的構造函數

python的實例化順序是怎么知道的呢?

            
              class Fa():
    def __init__(self):
        print ( "Fa父類的構造函數" )
    print("FA父類的普通語句")
 
class Son(Fa):
    def __init__(self):
        super().__init__()
        print ( "子類的構造函數" )
    print("子類的普通語句")
 
if __name__=='__main__':
    son=Son()
            
          

?

獨孤尚良dugushangliang——著


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論