国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

跟老齊學Python之編寫類之三子類

2020-02-23 06:05:46
字體:
來源:轉載
供稿:網友

關于類,看官想必已經有了感覺,看下面的代碼,請仔細閱讀,并看看是否能夠發現點什么問題呢?
代碼如下:
#!/usr/bin/env python
#coding:utf-8

class Person:
    def __init__(self, name, lang, email):
        self.name = name
        self.lang = lang
        self.email = email

    def author(self):
        return self.name

class Programmer:
    def __init__(self, name, lang, email, system, website):
        self.name = name
        self.lang = lang
        self.email = email
        self.system = system
        self.website = website

    def pythoner(self):
        pythoner_list = [ self.name, self.lang, self.email, self.system, self.website ]
        return pythoner_list

if __name__=="__main__":
    writer = Person("qiwsir","Chinese","qiwsir@gmail.com")
    python = Programmer("qiwsir","Python","qiwsir@gmail.com","Ubutun","qiwsir.github.io")
    print "My name is:%s"%writer.author()
    print "I write program by:%s"%python.pythoner()[1]

 上面這段代碼,運行起來沒有什么問題,但是,仔細看,發現有兩個類,一個名字叫做Person,另外一個叫做Programmer,這還不是問題所在,問題所在是這兩個類的構造函數中,存在這相同的地方:self.name=name,self.lang=lang,self.email=email,這對于追求代碼質量的程序員,一般是不允許的。最好不要有重復代碼或者冗余代碼。可是,在兩個類中都要有這些參數,應該怎么辦呢?

子類、父類和繼承

看下面的代碼,里面有兩個類A,B。這段程序能夠正確運行,每個類的功能是僅僅打印指定的內容。
代碼如下:
#!/usr/bin/env python
#coding:utf-8

class A:
    def __init__(self):
        print "aaa"

class B:
    def __init__(self):
        print "bbb"

if __name__=="__main__":
    a = A()
    b = B()

#運行結果
aaa
bbb

 上面的兩個類彼此之間沒有所謂的父子關系。現在稍加改變,將類B改寫,注意觀察與上面的差異。
代碼如下:#!/usr/bin/env python
#coding:utf-8

class A:
    def __init__(self):
        print "aaa"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛山市| 文昌市| 霞浦县| 安阳县| 桦甸市| 大英县| 平湖市| 阿拉尔市| 饶阳县| 滕州市| 舞阳县| 灵宝市| 全椒县| 胶南市| 兴文县| 仙桃市| 新巴尔虎右旗| 吉首市| 淄博市| 申扎县| 嘉禾县| 通辽市| 阜宁县| 鹤壁市| 丰都县| 缙云县| 浮梁县| 公主岭市| 舟曲县| 普洱| 全椒县| 湘西| 开远市| 临武县| 铁力市| 天峨县| 丁青县| 车致| 红桥区| 宁武县| 庆元县|