
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4.2 Python自定义类与打印函数
首先介绍面向对象编程(OOP),其是相对于面向过程来讲的。面向对象方法把相关的数据和方法组织为一个整体来看待,从更高的层次进行系统建模,更贴近事物的自然运行模式。
确切地说,面向对象编程(OOP)通过“抽象”“继承”“封装”3种方式来实现更佳的“人机友好”。抽象是将一些方法写为抽象类(一种不可以被实例化,只能被继承的类);通过“继承”衍生出各种子类,将方法“封装”在各个子类中以供使用者调用。这就是面向对象编程(OOP)的基本思想。
在Python中以class为关键字,在其后跟类名来创建一个自定义类,在内部封装类的对象和方法等,示例如下:

定义方法和定义函数的方式一样,都使用def语句,示例如下:


Logger类的作用是传入一个文件名(也可以不传,默认生成),如果该文件存在,则将屏幕打印的内容保存到一个TXT文件里,示例如下:

输出结果:

读者可以在E盘中找到一个名为example1.txt的文件,其中存放了打印出的内容,如图3-3所示。

图3-3 用于保存输出结果的自定义类文件输出示例