深入理解 Python 内置数据类型:文档字符串与 __doc__ 属性详解

2026-05-14 17:03:57
关注

深入理解 Python 内置数据类型:文档字符串与 __doc__ 属性详解

概述

在 Python 语言中,文档字符串(Docstring)是一种专为模块、类、函数或方法提供文档说明的字符串格式。它通常位于代码定义的开头,紧随在声明语句之后,是一种清晰描述代码功能和用法的工具。文档字符串由三重引号('''""")包裹,支持跨行书写。

文档与源码资源

本教程旨在系统讲解如何运用 Python 进行面向对象编程。读者应具备 Python 基础语法知识,并对单片机开发有一定了解。相比市面上其他 Python OOP 教程,本教程更注重嵌入式上位机开发的实践应用,涵盖主机与从机之间的串口通信、数据解析及可视化展示等内容。教程还结合 Sourcetrail 软件对源码进行可视化分析,以增强理解。

文档字符串与 __doc__ 属性的使用

在 Python 中,文档字符串可用于方法、类或模块,其内容可通过特殊属性 __doc__ 获取。这些字符串通常放置在定义的最上方,用以描述对象的功能、用法和行为。文档字符串由三重引号界定,是 Python 中构建自文档化代码的重要部分。

以下示例展示了如何为 MasterClass 类及其 StartMaster 方法编写文档字符串,并通过 __doc__ 属性读取:

# 访问 MasterClass 类的文档字符串print(MasterClass.__doc__)# 访问 MasterClass 类中 StartMaster 方法的文档字符串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() 方法进行串口初始化。        无返回值。        '''        pass

运行效果如下:

为命名元组添加文档字符串

除了普通类,命名元组(namedtuple)也可以通过继承方式添加文档字符串。示例如下:

from collections import namedtuple_Sensor = namedtuple("Sensor", "ID CURRENTVALUE MAXVALUE MINVALUE")class Sensor(_Sensor):    '''    该类继承自 Sensor 命名元组,用于表示传感器采集数据结构。    属性包括:    - ID         :传感器编号    - CURRENTVALUE :当前采集值    - MAXVALUE   :最大采集值    - MINVALUE   :最小采集值    '''sensor_tuple = Sensor(ID="16", CURRENTVALUE=32, MAXVALUE=62, MINVALUE=2)print(sensor_tuple.__doc__)

该代码的运行结果如下:

您觉得本篇内容如何
评分

相关产品

Cognex 康耐视 Advantage 100 Series 视觉传感器

Advantage™ 100智能摄像头不仅是一款嵌入式阅读器,而且是您机器的嵌入式视觉技术,Advantage™ 100智能摄像头为原始设备制造商提供了在一款紧凑(23毫米x 44毫米x 54毫米)、灵活但又具有成本效益的嵌入式产品中利用,简单应用程序开发软件,Advantage 100包括易于使用的Cognex应用软件,用于快速测试和开发特定需求所需的vision和ID工具。

TSI Incorporated 840521 质量流量计和控制器

TSI可以开发精确的机械配置、性能特点和电子接口,以优化您的设计。这些嵌入式流量传感器的卓越性能可以提高您的产品性能,并缩短新产品开发的上市时间

一二三物联网 SD123-Z3TD 振动传感器

RS-485振动传感器是选用高性能的MEMS芯片,采用嵌入式技术、温度传感技术、振动传感技术开发生产的一款高性能、低功耗、抗干扰和复合型振动传感器。

Percipio.XYZ 图漾科技 TM461-E2 3D ToF工业相机 视觉传感器

TM461-E2 是一款采用飞行时间法(ToF 技术)测距的深度相机,机身小巧轻盈,能快速生成被测场景的 3D 图像,帧率可灵活配置,PoE供电,支持第三方嵌入式开发,可应用于工业测量、工业安全、安防监控

普云感知 HT-100 在线式多普勒流量计 多普勒流量计

HT-100型在线式多普勒流量计是基于超声波多普勒、嵌入式、物联网、触摸屏等 技术开发的智能监测设备。

Integrated Biometrics Curve 生物特征识别系统

Curve和eCurve(嵌入式版本)的开发是为了在商业应用中常见的苛刻的现实世界条件下取得成功。这个经过验证的解决方案包括硬件、全功能SDK和必要的技术支持,使您的产品更有价值。

无锡布里渊电子 DTS-BLY-5S(STD) 分布式光纤测温主机

布里渊科技基于拉曼光时域反射技术(ROTDR),于2014年在国内创新的采用了嵌入式开发思路,公司自主研制了国内第一款基于“ARM+FPGA”架构的低功耗嵌入式分布式光纤测温主机。目前已在国内的电力、消防、煤矿等领域广泛应用,截止目前在线的分布式光纤测温设备超过6000台,配接的总传感光纤里程超过40000公里(绕地球一圈)。

Visual Sound GM 6523 音频麦克风

听技术公司,GM 6523是一个高性能电容麦克风开发的可插拔cd 4000和DCS 6000桌面和嵌入式安装单元。

Servoflo ESCP-MIS1 Capacitive Pressure Sensor Capsule Package 压力传感器

ES系统公司开发了一系列用于绝对压力测量的电容式压力传感器传感器。每个模块集成一个充油压力容器,该压力容器配备有介质隔离膜,用于保护MEMS电容式压力传感器模具。基于内置温度传感器和存储在嵌入式存储器中的出厂校准系数,对输出进行全面校准和温度补偿。标准316L胶囊。可根据要求提供定制材料。,这些电容式传感器非常适合需要高精度、高分辨率压力测量。,特性,典型用途

瑞德泰玛 HX540-RTU-A RFID读写器

HX540-RTU-A 系列双界面RFID读写器是一款支持读写符合ISO 14443A与ISO 7816标准的接触式/非接触式芯片卡的双界面读写模块,带2个PSAM卡卡槽,可对机具加密与身份识别,具有高安全HX540-RTU-A 系列双界面RFID读写器通采用USB接口实现与PC机及嵌入式设备的连接,支持二次开发,提供各种平台的驱动与SDK开发包、API文件及相关技术支持,并附带的Demo演示程序及代码案例

评论

您需要登录才可以回复|注册

提交评论

芯兔兔

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

迅为RK系列开发板内核全面升级至Linux 6.1 LTS

提取码
复制提取码
点击跳转至百度网盘