python 類以及繼承作業碼樣本

來源:互聯網
上載者:User
直接貼自己寫的代碼做參考:

#encoding=utf-8__author__ = 'Administrator'# 類的定義# **kw 在建立類的執行個體對象的時候動態給對象添加參數class Person(object):    def __init__(self,name,age,**kw):    ##每個類都有個init 方法        self.name = name        self.age = age        for k,v in kw.iteritems():            setattr(self,k,v)     ## 用setattr 將動態屬性賦值給類對象class Teacher(Person):  #繼承Person類    __score=0     ## 定義類的私人屬性  不能被外界訪問    def __init__(self,name,age,score):        self.__score = score        super(Teacher,self).__init__(name,age)    ##繼承父類的初始化方法        print "Teacher.__score =",self.__score    #---方法也分類方法和執行個體方法    #定義類方法 @classmethod 聲明 可以直接用Teacher.getScoreForClass()來調用    @classmethod    def getScoreForClass(cls):        return cls.__score    #定義執行個體方法 直接用Teacher.getScoreForClass()來調用會報錯    # p.getScoreForExample()    def getScoreForExample(self):        return self.__scorefrom types import MethodTypeif __name__ =="__main__":    #te = Person("TOM",35,addr="USA",sex="M")  ## 類的執行個體對象 te    '''    可以直接改變對象執行個體的值,如:    te.name = "BOB"    也可以直接給對象執行個體添加屬性,如:    te.lover = "SUM"    這樣並沒有給類添加屬性,當你在此常見一個類執行個體時是沒有剛才添加的屬性的    '''    print "befor:", Teacher.getScoreForClass()    p = Teacher("TOM",33,100)    print "after :", p.getScoreForExample()    print "after :",Teacher.getScoreForClass()
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.