一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python中__init__()方法詳情

python中__init__()方法詳情

2022-03-09 00:16代號零零一 Python

這篇文章主要介紹了 python中__init__()方法詳情,python類中定義的函數(shù)稱為方法, init ()方法本質(zhì)也是一個函數(shù)。這個函數(shù)的作用是初始化實例后的對象,具體內(nèi)容請參考下文詳細內(nèi)容

initial;">python類中定義的函數(shù)稱為方法 init ()方法本質(zhì)也是一個函數(shù)。這個函數(shù)的作用是初始化實例后的對象。

具體如下例:

init()方法的作用是初始化實例后的對象cqueue

class CQueue:

類中的函數(shù)稱為方法 ,這里的__init__()方法在類實例化是被自動調(diào)用。若類定義了__init__()方法,類的實例化操作會自動調(diào)用__init__方法。

__init__方法可以有參數(shù),參數(shù)通過__init__()傳遞到類的實例化操作上。self代表的是類的實例,而非類。

類的方法和普通函數(shù)的區(qū)別只有一個,類的方法必須有一個額外的第一個參數(shù)名稱,按照慣例它的名稱是self

class CQueue

    def __init__(self):

        self.A,self.B=[],[]

  

    def appendTail(self,value:int)->None:

        self.A.append(value)



    def deleteHead(self)->int:

        if self.B:

            return self.B.pop()

        if not self.A:

            return -1

        while self.A:

            self.B.append(self.A.pop())

        print(self.B)

        return self.B.pop()



if __name__=="__main__":

    #類CQueue的實例化,這里的括號()不能丟。

    #__init__()方法的作用是初始化實例后的對象cqueue。

    cqueue=CQueue()

    #調(diào)用類中的appendTail()函數(shù),增加元素。

    cqueue.appendTail(243)

    cqueue.appendTail(2)

    cqueue.appendTail(4)

    cqueue.deleteHead()

    cqueue.deleteHead()

有無__init__的區(qū)別,結論如下:

1.在類實例化時,如果類中有__init__方法,此時調(diào)用__init__方法。

2.若該類沒有父類,也沒有__init__方法,則不會有任何操作。即對象不會被初始化。

3.若該類有父類,則去調(diào)用該類的父類中__init__方法。

具體實驗如下:

定義三個類:CQueuestudentsum,其中CQueuestudentsum的父類。

python中__init__()方法詳情

  • 實驗1說明__init__方法的作用是初始化實例的類。
  • 實驗2說明:當子類沒有__init__方法時,會在父類中進行初始化。
  • 實驗3,4說明sum(student,CQueue ),子類sum沒有__init__方法時,會調(diào)用父類,并且調(diào)用父類中排在前面的父類,這里student類在CQueue前,所以調(diào)用student類中的__init__方法初始化實例的類。
  • 實驗5說明:在類及其父類均沒有初始化時,實例化的類不會被初始化。

實驗1代碼:

class CQueue:

    #類中的函數(shù)稱為方法 ,這里的__init__()方法在類實例化是被自動調(diào)用。若類定義了__init__()方法,類的實例化操作會自動調(diào)用__init__方法。

    #__init__方法可以有參數(shù),參數(shù)通過__init__()傳遞到類的實例化操作上。self代表的是類的實例,而非類。

    #類的方法和普通函數(shù)的區(qū)別只有一個,類的方法必須有一個額外的第一個參數(shù)名稱,按照慣例它的名稱是self。

    def __init__(self):

        self.A,self.B=[],[]



    def appendTail(self,value:int)->None:

        self.A.append(value)



    def deleteHead(self)->int:

        if self.B:

            return self.B.pop()

        if not self.A:

            return -1

        while self.A:

            self.B.append(self.A.pop())

        print(self.B)

        return self.B.pop()

class student:

        def __init__(self):

            print("測試輸出1")

        def test1(self):

            print("測試輸出2")



class sum(student,CQueue ):

        def __init__(self):

            print("測試輸出3")

        def test2(self):

            print("測試輸出4")

if __name__=="__main__":

    #類CQueue的實例化,這里的括號()不能丟。

    s=sum()

實驗結果:

python中__init__()方法詳情

實驗2代碼:

class CQueue:

    #類中的函數(shù)稱為方法 ,這里的__init__()方法在類實例化是被自動調(diào)用。若類定義了__init__()方法,類的實例化操作會自動調(diào)用__init__方法。

    #__init__方法可以有參數(shù),參數(shù)通過__init__()傳遞到類的實例化操作上。self代表的是類的實例,而非類。

    #類的方法和普通函數(shù)的區(qū)別只有一個,類的方法必須有一個額外的第一個參數(shù)名稱,按照慣例它的名稱是self。

    def __init__(self):

        self.A,self.B=[],[]



    def appendTail(self,value:int)->None:

        self.A.append(value)



    def deleteHead(self)->int:

        if self.B:

            return self.B.pop()

        if not self.A:

            return -1

        while self.A:

            self.B.append(self.A.pop())

        print(self.B)

        return self.B.pop()

class student:

        def __init__(self):

            print("測試輸出1")

        def test1(self):

            print("測試輸出2")



class sum(student,CQueue ):

        # def __init__(self):

        #     print("測試輸出3")

        def test2(self):

            print("測試輸出4")



if __name__=="__main__":

    #類CQueue的實例化,這里的括號()不能丟。

    s=sum()

實驗結果:

python中__init__()方法詳情

實驗3,4,省略。

實驗5:

class CQueue:

    #類中的函數(shù)稱為方法 ,這里的__init__()方法在類實例化是被自動調(diào)用。若類定義了__init__()方法,類的實例化操作會自動調(diào)用__init__方法。

    #__init__方法可以有參數(shù),參數(shù)通過__init__()傳遞到類的實例化操作上。self代表的是類的實例,而非類。

    #類的方法和普通函數(shù)的區(qū)別只有一個,類的方法必須有一個額外的第一個參數(shù)名稱,按照慣例它的名稱是self。

    def __init__(self):

        self.A,self.B=[],[]



    def appendTail(self,value:int)->None:

        self.A.append(value)



    def deleteHead(self)->int:

        if self.B:

            return self.B.pop()

        if not self.A:

            return -1

        while self.A:

            self.B.append(self.A.pop())

        print(self.B)

        return self.B.pop()

class student:

        # def __init__(self):

        #     print("測試輸出1")

        def test1(self):

            print("測試輸出2")



class sum(student,CQueue ):

        # def __init__(self):

        #     print("測試輸出3")

        def test2(self):

            print("測試輸出4")



if __name__=="__main__":

    #類CQueue的實例化,這里的括號()不能丟。

    s=sum()

實驗結果:

python中__init__()方法詳情

從實驗結果可以看出,沒有任何操作。

到此這篇關于 python中__init__()方法詳情的文章就介紹到這了,更多相關 python中__init__()方法內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_37993640/article/details/121532933

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看国产一级特黄aa大片 | 性白俄罗斯高清xxxxx | 日本艳鉧动漫1~6完整版在 | 息与子中文字幕在线 | 99在线免费观看视频 | 精品国产91久久久久久久a | 欧美日韩一区二区三区久久 | 亚洲乱码一二三四区国产 | 美女视频一区二区三区在线 | 手机跑分排行最新排名 | 国产成人在线影院 | 色先锋影音资源 | 91久久综合| 久久久久久久久性潮 | 强行扒开美女大腿挺进 | 成免费视频 | 成年美女黄网站色视频大全免费 | 色热综合| 日韩资源 | 日韩一区二区三区免费 | 欧美一区二区三区gg高清影视 | 娇妻在床上迎合男人 | 麻豆视频免费在线观看 | chinese男男gayxxx| 色5月婷婷| 免费在线视频一区 | 91porn最新地址| 91短视频在线观看2019 | 国产精亚洲视频 | 99久久精品免费看国产一区 | 精品久久久久久久久久香蕉 | 九九国产视频 | 艹出白浆 | 亚洲精品一区二区三区中文字幕 | 国产精品日本一区二区不卡视频 | 精品免费国产一区二区三区 | 脱女学小内内摸出水网站免费 | 我半夜摸妺妺的奶C了她 | 亚洲国产99在线精品一区二区 | 免费港剧在线观看港剧 | 国产福利一区二区三区四区 |