《云计算全栈》-python篇:出版商程序

3 案例3:出版商程序
3.1 问题

创建books.py文件,实现以下目标:

为出版商编写一个Book类
Book类有书名、作者、页数等属性
打印实例时,输出书名
调用实例时,显示该书由哪个作者编写

3.2 方案

创建一个类,类中创建3种魔法方法:

1.__init__方法:__init__方法用于初始化实例属性,创建对象后会自动调用__init__方法,属于构造器方法,此处初始化了书名及作者两个属性

2.__str__方法:创建对象后,打印实例对象pybook,返回书名,打印出书名

3.__call__方法:创建对象后,可以像调用函数一样调用该方法,模拟函数的行为,打印出书名及作者
3.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.
发布了275 篇原创文章 · 获赞 46 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/104726260