使用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.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章