使用Python編寫出版商程序

2.1 問題
創建books.py文件,實現以下目標:

爲出版商編寫一個Book類
Book類有書名、作者、頁數等屬性
打印實例時,輸出書名
調用實例時,顯示該書由哪個作者編寫
2.2 方案
創建一個類,類中創建3種魔法方法:

1.__init__方法:__init__方法用於初始化實例屬性,創建對象後會自動調用__init__方法,屬於構造器方法,此處初始化了書名及作者兩個屬性

2.__str__方法:創建對象後,打印實例對象pybook,返回書名,打印出書名

3.__call__方法:創建對象後,可以像調用函數一樣調用該方法,模擬函數的行爲,打印出書名及作者

2.3 步驟
實現此案例需要按照如下步驟進行。

步驟一:編寫腳本

[root@localhost day07] # vim books.py
#!/usr/bin/env python3
class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author
    def __str__(self):
        return '<Book: %s>' % self.title
    def __call__(self):
        print('《%s》 is written by %s.' % (self.title, self.author))
if __name__ == '__main__':
    pybook = Book('Core Python', 'Weysley')
    print(pybook)  # 調用__str__
    pybook()   # 調用__call__

步驟二:測試腳本執行

[root@localhost day07]# python3 books.py 
<Book: Core Python>
《Core Python》 is written by Weysley.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章