全网最适合入门的面向对象编程教程:35 Python的内置数据类型-文档字符串和__doc__属性
扫描二维码
随时随地手机看文章
摘要:
在 Python 中,文档字符串(Docstring)是一种用于为模块、类、方法或函数编写文档的字符串,通常放置在定义的开头,紧跟在声明之后。文档字符串使用三重引号("""或''')包围,可以跨越多行。
文档和代码获取:
本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail代码软件对代码进行可视化阅读便于读者理解。
正文
在Python中,我们可以为方法、类和模块添加文档字符串,这些文档字符串可以通过一个特殊属性__doc__获取。文档字符串(docstring)是一种用于描述类、函数、模块或方法的字符串,通常位于定义的顶部,并用于提供有关其功能和用法的信息。文档字符串通常被包含在三引号(''' 或 """)中,并位于类、函数、模块或方法定义的顶部。
例如,在下列示例中,我们为MasterClass主机类及其StartMaster开启主机方法添加必要注释,并通过以下语句访问:
# 访问MasterClass类的__doc__属性 print(MasterClass.__doc__) # 访问MasterClass类中StartMaster方法的__doc__属性 print(MasterClass.StartMaster.__doc__)
示例代码如下:
class MasterClass(SerialClass,PlotClass): ''' MasterClass:该类表示主机类,主要用于接收传感器数据、收发指令等 具有如下属性: state —— 表示主机工作状态 port —— 表示主机端口号 wintitle —— 表示窗口标题 ... ... 具有如下方法: StartMaster —— 开启主机 StopMaster —— 停止主机 RecvSensorValue —— 接收传感器数据值 ... ... ''' ... # 类的初始化 def __init__(self,state:int = IDLE_STATE,port:str = "COM17",wintitle:str="Basic plotting examples",plottitle:str="Updating plot",width:int=1000,height:int=600): pass # 开启主机 def StartMaster(self): ''' StartMaster方法——开启主机 调用SerialClass.OpenSerial()方法 :return: 无返回值 ''' pass
如下为运行结果:
同时,我们也可以给命名元组添加文档字符串。使用一个类继承对应的命名元组,并在类中添加文档注释,示例代码如下:
from collections import namedtuple _Sensor = namedtuple("Sensor","ID CURRENTVALUE MAXVALUE MINVALUE") class Sensor(_Sensor): ''' 这是一个继承自表示传感器数据的命名元组的类 具有四个属性: (1) ID : 表示传感器ID号 (2) CURRENTVALUE : 传感器采集到的当前数据值 (3) MAXVALUE : 传感器采集到的最大数据值 (4) MINVALUE : 传感器采集到的最小数据值 '''sensor_tuple=Sensor(ID="16",CURRENTVALUE=32,MAXVALUE=62,MINVALUE=2)print(sensor_tuple.__doc__)
运行结果如下:





