python中的__doc__,__name__

2023-10-31

模块的name
每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。这在一个场合特别有用——就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的name属性完成。
使用模块的name

例 使用模块的name

#!/usr/bin/python
# Filename: using_name.py

if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module'

(源文件:code/using_name.py)
输出

$ python using_name.py
This program is being run by itself

$ python
>>> import using_name
I am being imported from another module
>>>

它如何工作
每个Python模块都有它的name,如果它是’main‘,这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

DocStrings

Python有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings 。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!
使用DocStrings

例 使用DocStri#!/usr/bin/python

Filename: func_doc.py

def printMax(x, y):
”’Prints the maximum of two numbers.

The two values must be integers.'''
x = int(x) # convert to integers, if possible
y = int(y)

if x > y:
    print x, 'is maximum'
else:
    print y, 'is maximum'

printMax(3, 5)
print printMax.doc件:code/func_doc.py)
输出

$ python func_doc.py
5 is maximum
Prints the maximum of two numbers.

        The two values must be integers.

它如何工作

在函数的第一个逻辑行的字符串是这个函数的 文档字符串 。注意,DocStrings也适用于模块和类,我们会在后面相应的章节学习它们。

文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。 强烈建议 你在你的函数中使用文档字符串时遵循这个惯例。

你可以使用doc(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。请记住Python把 每一样东西 都作为对象,包括这个函数。我们会在后面的类一章学习更多关于对象的知识。

如果你已经在Python中使用过help(),那么你已经看到过DocStings的使用了!它所做的只是抓取函数的doc属性,然后整洁地展示给你。你可以对上面这个函数尝试一下——只是在你的程序中包括help(printMax)。记住按q退出help。

自动化工具也可以以同样的方式从你的程序中提取文档。因此,我 强烈建议 你对你所写的任何正式函数编写文档字符串。随你的Python发行版附带的pydoc命令,与help()类似地使用DocStrings。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中的__doc__,__name__ 的相关文章

随机推荐

  • 微信小程序webview(H5页面)调用微信小程序支付

    1 业务描述 微信小程序商城入口进入的页面是商城H5页面 在H5页面进行微信支付如何实现 2 微信小程序 webview访问H5页面 必须使用微信小程序支付 如何实现以及实现方式以及支付后页面返回功能 商品详情 h5页面 gt 商品确认页
  • 人工智能不断发展扫码升级刷脸是必然趋势

    人工智能技术的不断发展 刷码升级成刷脸也是必然趋势 刷脸技术落地以后 迎合5G浪潮 将会提供更精准 更完善 更丰富化的服务 它的全面应用将会为企业带去智能化体验 也会引发新一轮的行业变革 起到真正的赋能作用 支付宝 微信支付 银联的三大巨头
  • Go Code Review Comments 译文

    持续更新中 原文最新链接https github com golang go wiki CodeReviewComments 5a40ba36d388ff1b8b2dd4c1c3fe820b8313152f Github译文链接https
  • Keil5添加.c文件与.h文件的方法-导入支持库-新大陆物联网竞赛-Lora模块&NBIOT模块例程-添加导入文件

    一 概述 在某些情况下 我们使用现用的物联网开发例程 例如新大陆物联网的Lora与NBIOT的例程 我们对其例程内目前所有的库不满意 不足以实现开发需要的功能 我们需要在原有工程上添加我们自己的库 以满足开发需要 二 操作步骤 首先 打开文
  • 【NodeJs-5天学习】第一天篇④ ——了解NodeJs回调函数和事件驱动机制

    NodeJs 5天学习 第一天篇 NodeJs回调函数和事件处理机制 1 Node js 中的回调 Callback 函数 2 Nodejs事件循环模型 2 1 浅析事件驱动 2 2 深入NodeJs事件驱动 3 总结 面向读者群体 电子物
  • logback 配置详解(二)——appender

    1 appender
  • solidworks 2020小金球_solidworks2020如何开启小金球RealView

    solidworks2020如何开启小金球RealView 如何查看sw否开启小金球RealView 只有在建模环境下依次点击 视图 显示 RealView图形 就可以看见小金球RealView是否开启 像图片中的呈现灰色 则表示小金球Re
  • 今天使用模板特化所遇到的问题

    template lt class T gt void test const T t cout lt lt void test const T t lt lt endl template lt gt void test lt int gt
  • Ubuntu中deb包详解及打包教程

    一 deb包详解 1 gt deb 包的文件结构 deb 软件包里面的结构 它具有DEBIAN和软件具体安装目录 如etc usr opt tmp等 deb包本身有三部分组成 组成 详细 数据包 包含实际安装的程序数据 文件名为 data
  • C# 中的Dispose()用法

    Dispose 在向大家详细介绍C 调用Dispose 方法之前 首先让大家了解下Dispose 方法 然后全面介绍C 调用Dispose 方法 我们已经知道了处置那些占用非受控 unmanaged 资源的对象的重要性 现在应该编写资源管理
  • 反射——通过工厂类来完成获取接口示例

    反射可实现程序中无new关键字 实现真正的解耦合 import java lang reflect InvocationTargetException import java lang reflect Member 只要是获取接口示例 都应
  • python离线安装第三方库

    python离线安装第三方库 安装包下载 cmd实现离线安装 zip文件包下载安装 whl文件下载安装 由于内外网的物理隔离 导致很多python的第三方库无法在线安装 只能选择离线安装了 离线安装具体如下 安装包下载 python除了本身
  • 职场年度最励志文章:纽约华人女教师直指人心的23条金句

    多年的工作经历让我深刻理解这23句职场的肺腑之言 也许对于一个初出茅庐的大学毕业生 这些内容显得高屋建瓴 并不能被深刻理解 推荐这篇文章 不在于要你记住多少 而是希望透过别人经验的这面镜子 审视自己 如果有什么忠告 只有一句话 去经历 你就
  • 强化学习 gridworld P77 模拟

    import numpy as numpy from tabulate import tabulate class State class for each unit on the game def init self id if id 0
  • 实体-联系模型

    实体 联系 Entity Relationship E R 模型 以下简称E R模型 的提出旨在方便数据库的设计 它是通过允许定义代表数据全局逻辑结构的企业模式实现的 E R模型采用三个基本概念 实体集 联系集和属性 实体集 实体 enti
  • VirtualBox虚拟机 Ubuntu分辨率太小的解决方案

    转自 http blog csdn net xubinlxb article details 18092297 今天用VirtualBox成功装上Ubuntu10 04之后发现了一个问题 默认情况下 ubuntu 的分辨率最高只能设到800
  • vba中颜色代码

    更详细的可以看 VBA颜色代码 经典颜色收藏版打印版 豆丁网
  • 测试人员与开发人员的比例究竟多少是合理的?

    在一些软件大会上 人们常常会问这样一个问题 测试人员与开发人员的比例究竟多少是合理的 而这样的问题 很难直接给出一个答案 为什么会有这样的问题 可能来自于两方面的压力 许多公司领导总是希望得到一个合理的比例 然后按这个比例分配招聘的名额 或
  • IDEA中创建Java Web项目方法2

    以下过程使用IntelliJ IDEA 2021 3 一 创建Maven项目 1 File gt New gt Projects 2 选择Maven 点击Next 3 输入项目名称 Name WebDemo3 点击 Finish 生成新的项
  • python中的__doc__,__name__

    模块的name 每个模块都有一个名称 在模块中可以通过语句来找出模块的名称 这在一个场合特别有用 就如前面所提到的 当一个模块被第一次输入的时候 这个模块的主块将被运行 假如我们只想在程序本身被使用的时候运行主块 而在它被别的模块输入的时候