日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python里的class怎么寫

類(class)和實(shí)例(Instance)是面向?qū)ο笞钪匾母拍睢?/p>

創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號搭建、微信平臺小程序開發(fā)、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動行銷領(lǐng)域創(chuàng)造價值而不懈努力!

類是指抽象出的模板。實(shí)例則是根據(jù)類創(chuàng)建出來的具體的“對象”,每個對象都擁有從類中繼承的相同的方法,但各自的數(shù)據(jù)可能不同。

在python中定義一個類:

class Student(object):
    pass

關(guān)鍵字class后面跟著類名,類名通常是大寫字母開頭的單詞,緊接著是(object),表示該類是從哪個類繼承下來的。通常,如果沒有合適的繼承類,就使用object類,這是所有類最終都會繼承下來的類。

定義好了 類,就可以根據(jù)Student類創(chuàng)建實(shí)例:

>>> class Student(object):
...     pass
...
>>> bart = Student() # bart是Student()的實(shí)例
>>> bart
<__main__.Student object at 0x101be77f0>
>>> Student # Student 本身是一個類

可以自由地給一個實(shí)例變量綁定屬性,比如,給實(shí)例bart綁定一個name屬性:

>>> bart.name = "diggzhang"
>>> bart.name'diggzhang'

類同時也可以起到模板的作用,我們可以在創(chuàng)建一個類的時候,把一些認(rèn)為公共的東西寫進(jìn)類定義中去,在python中通過一個特殊的__init__方法實(shí)現(xiàn):

class Student(object):
    """__init__ sample."""
    def __init__(self, name, score):
        self.name = name
        self.score = score

__init__方法的第一個參數(shù)永遠(yuǎn)都是self,表示創(chuàng)建實(shí)例本身,在__init__方法內(nèi)部,可以把各種屬性綁定到self,因?yàn)閟elf指向創(chuàng)建的實(shí)例本身。

有了__init__方法,在創(chuàng)建實(shí)例的時候,就不能傳入空的參數(shù)了,必須傳入與__init__方法匹配的參數(shù),但self不需要傳,Python解釋器自己會把實(shí)例變量傳進(jìn)去。如下面的類,在新建實(shí)例的時候,需要把name和score屬性捆綁上去:

class Student(object):
    """example for __init__ function passin args."""
    def __init__(self, name, score):
        self.name = name
        self.score = score

我們直接看個實(shí)例,如果我們老老實(shí)實(shí)傳name和score進(jìn)去的時候,成功聲明了這個實(shí)例,但是只傳一個值的時候,報錯:

In [1]: class Student(object):
   ...:     def __init__(self, name, score):
   ...:         self.name = name
   ...:         self.score = score
   ...:

In [2]: bart = Student('diggzhang', 99)

In [3]: bart.name
Out[3]: 'diggzhang'

In [4]: bart.score
Out[4]: 99

In [5]: bart_test = Student('max')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 bart_test = Student('max')

TypeError: __init__() takes exactly 3 arguments (2 given)

更多學(xué)習(xí)內(nèi)容,請點(diǎn)擊Python學(xué)習(xí)網(wǎng)。


文章名稱:創(chuàng)新互聯(lián)Python教程:python里的class怎么寫
當(dāng)前鏈接:http://www.dlmjj.cn/article/cdeedjh.html