从本章开始,我们开始使用pycharm作为开发环境,具体配置过程可以参见如下链接:
类的定义和使用
作为一个好公民,要积极践行垃圾分类(你是什么垃圾?:p),垃圾分类是将垃圾按照一定的标准分开存储、投放和搬运,分类的好处在于能将具有共同特点的事物统一处理。python中有个概念叫做类,也是将现实中具体的一类东西,抽象出一些共性的东西,进而提高代码的复用性和可读性。
话不多说,首先看个例子:
class Website():
'''info about website'''
def __init__(self, domain_name):
self.domain_name = domain_name
def publish(self):
print(self.domain_name + " published docsify tutorials.")
def focus(self):
print(self.domain_name + " focuses on machine vision tutorials.")
my_website = Website("www.cvtutorials.com")
my_website.publish()
my_website.focus()
在1处,定义了一个Website类,类名我们通常是用大写字母开头,如果是多个单词,可以每个首字母大写,例如BaseDetection。在2处,我们用三引号对类进行一个简单的说明,这行字符串也叫文档字符串。在3处,用__init__函数对类进行初始化,初始化的时候需要给定一个域名作为参数。在4处,将参数中的变量赋值给类变量,这样方便其他函数使用。在5处,定义了一个publish函数,表示网站已经完成的教程,在6处,定义了一个focus函数,说明网站的聚焦领域。代码运行结果如下所示:
继承
类的继承可以方便代码的复用,通过继承可以创建新类,新类叫做子类,被继承的类,叫做基类(鸡肋?:p)。
假如现在我们有一个新的需求,这个网站不再聚焦于机器视觉教程领域,转而聚焦于混合现实领域,我们将上面的Website作为一个基类,然后利用这个基类快速创建一个新类,代码如下:
class MyWebsite(Website):
'''website fouces on Mixed Reality'''
def __init__(self, domain_name):
super().__init__(domain_name)
def focus(self):
print(self.domain_name + " focuses on Mixed Reality.")
mr_website = MyWebsite("www.cvtutorials.com")
mr_website.publish()
mr_website.focus()
推荐文章:
- 手牵手教你编写docsify文档
- python基础教程
- python基础教程(一):python之what、why、How
- python基础教程(二):python编程环境搭建
- python基础教程(三):变量类型和运算符
- python基础教程(四):列表
- python基础教程(五):字典
- python基础教程(六):字符串
- python基础教程(七):流程控制
10.python基础教程(八):函数
个人网站(基于vue的docsify编写,简洁美观): –> 个人网站 <– 网站logo设计:
|