python函數介紹

來源:互聯網
上載者:User

標籤:python   函數   

一.類的定義--class關鍵字

類的組成包括成員變數(name,age)和成員函數(who)

class User:    name=‘zhzhgo‘    age=25def who(self):    print "I‘m "+self.name

對象的建立

u=User()u.ageu.who()

構造方法和析構方法

__init__() 對象產生的時候執行構造方法

__def__() 對象銷毀的時候執行析構方法


二.類的繼承--聲明類的時候括弧中寫要繼承的父類

類的繼承衍生出類子類,子類可以繼承或重寫父類的方法,子類可以自訂新的方法或者成員變數,比如學生類可以繼承使用者類

class User(object):    name=‘‘    age=‘‘        def __init__(self,name,age):        self.name=name        self.age=age            def who(self):        print "My name is "+self.name+",I‘m "+str(self.age)+" years old."class Student(User):    height=‘‘        def __init__(self,name,age,height):        User.__init__(self,name,age)        self.height=height    def who(self):        User.who(self)        #super(Student,self).who()        print "My height is "+ str(self.height)        Student("zhzhgo",25,168).who()

>>> 

My name is zhzhgo,I‘m 25 years old.

My height is 168

>>> 

繼承嵌套,即多重繼承

class 類名(父類1,父類2,....,父類n)     <語句1>

需要注意括弧中父類的順序,如果父類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋,即方法在子類中未找到時,從左至右尋找父類中是否包含該方法


三.執行個體方法、類方法、靜態方法

執行個體方法,類方法,靜態方法都可以通過執行個體或者類調用,只不過執行個體方法通過類調用時需要傳遞執行個體的引用(python 3可以傳遞任意對象,其他版本會報錯)

執行個體方法針對的是執行個體,第一個參數是self,普通對象方法至少需要一個self參數,代表類對象執行個體;類方法針對的是類,@classmethod 它表示接下來的是一個類方法,類方法的第一個參數cls,它們都可以繼承和重新定義;靜態方法用於作為程式中的共用資源,直接通過類去調用,不用執行個體化對象,不需要self參數,可以認為是全域函數,@staticmethod 它表示接下來的是一個靜態方法

class Test1(object):    def test1(self): #定義了執行個體方法        print("object")    @classmethod    def test2(cls): #定義了類方法        print("class")    @staticmethod    def test3(): #定義了靜態方法        print("static")f1=Test1()#f1.test1(); #通過執行個體調用Test1.test1(f1) #直接通過類的方式調用,但是需要自己傳遞執行個體引用Test1.test2()print "--------------------"#如果Test1有子類,並且子類覆蓋了這個類方法,最終會調用子類的方法並傳遞子類的類對象class Test2(Test1):    @classmethod    def test2(cls):        print(cls)        print("test2 object")f2=Test2()f2.test2()print "--------------------"f1.test3(); #使用執行個體調用Test1.test3(); #直接靜態方式調用

>>> 

object

class

--------------------

<class ‘__main__.Test2‘>

test2 object

--------------------

static

static

>>> 



本文出自 “今日的努力,明日的成功!” 部落格,請務必保留此出處http://zhzhgo.blog.51cto.com/10497096/1677290

python函數介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.