面向初学者的 Python 面向对象编程入门教程:内置数据类型解析——文档字符串与 __doc__ 属性

2026-05-13 16:02:45
关注
html

面向初学者的 Python 面向对象编程入门教程:内置数据类型解析——文档字符串与 __doc__ 属性

摘要

在 Python 编程语言中,文档字符串(Docstring)是一种常用于模块、类、函数及方法上的注释机制,通常位于定义的起始位置,紧跟在声明语句之后。文档字符串通常被三重引号('''""")包裹,支持多行文本输入,便于开发者对代码进行功能描述和说明。

文档与资源下载

本教程主要介绍 Python 在面向对象编程方面的基础用法。阅读者需具备基本的 Python 语法知识以及单片机开发经验。相较于市面上其他讲解 Python OOP 的书籍或博客,本教程更注重嵌入式上位机开发的实际应用,涵盖上下位机之间的串口通信、数据处理、动态图形绘制等内容,并结合 SourceTrail 工具实现代码可视化分析,提升学习效率。

正文

在 Python 中,文档字符串(docstring)可应用于函数、类和模块,用以说明其功能和使用方式。这些文档字符串能够通过内置属性 __doc__ 进行访问。通常,文档字符串被定义在类、函数或模块的开头部分,使用三引号('''""")包围,形成结构清晰的代码注释。

以下代码演示了如何为一个名为 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

执行上述代码后,输出如下:

此外,还可以为命名元组添加文档字符串。通过定义一个继承自命名元组的类,并在其中添加注释,即可实现该功能。以下为一个示例:

from collections import namedtuple_Sensor = namedtuple("Sensor", "ID CURRENTVALUE MAXVALUE MINVALUE")class 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演示程序及代码案例

评论

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

提交评论

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