Hom's Blog


Python帮助及设置

我们知道,help('obj')可以查询命名空间存在的模块,类,函数,对象. 在ipython可以用 obj? 来查询其信息. 这里主要介绍, 怎么写help时显示的内容.

help的使用

help是函数,help(内容), 这个内容可以是一个变量, 对象, 或者’函数名’, ‘模块名’, ‘主题’等. 进入后可能很长,按空格下页,按q退出.

一般内容部分如下(注意是字符串形式,还是直接形式:对象名/变量名):

  • ‘help’: 可以获得一个总体介绍,例如一些词,例如help(‘modules name’)来列出含有该词的模块.不建议使用..
  • ‘keywords’: 可以查询所有keywords列表,例如help(‘if’)可以查询关键词
  • ‘modules’: 可以查询所有可用模块(包括安装的,但不包含当前目录).例如help(‘os’)
  • ‘topics’: 可以查询所有主题, 主题都是大写.例如help(‘CALL’)
  • ‘关键词’: 字符串形式(否则会处理为关键词), 可以查询关键词介绍. 包括使用格式, 介绍.如help(‘lambda’)
  • ‘模块名’: 没加载的可用模块需要字符串形式,使其可以从关键词库搜索; 加载的模块(如用户模块)可以用直接形式.就是查询模块帮助, 后面介绍.
  • ‘主题名’: 查询一些主题,例如调用, 字符串,浮点等.就是说明书了..
  • 类名: 如help(str).一句话用法, 介绍, 方法, 数据(属性)描述符, 其余属性, 继承的内容.
  • 函数名: 可以查询函数帮助,可用字符串形式. 第一句一般是简介来源,内建,文件等.第二句是格式. 第三句是介绍.
  • 变量名: 可以查询变量对象的帮助,类似于类查询,但现实的是对象查询.
  • 子内容: 例如模块类的对象, 对象类的方法, 均使用详细调用时的形式,例如help(os.path)

模块设置help信息

  • NAME: __name__: 模块名, 主程序时是__main__. 写在模块开头的'...'字符串是模块名进一步说明.
  • FILE: __file__: 默认就是文件绝对路径(包是__init__文件).
  • DESCRIPTION: __doc__: 模块说明部分, 可以写在模块开始的'''...'''第一个字符串段(会跳过前面的注释,空行,以及第一个普通的'...'名字说明字符串), 也可以用变量赋值形式定义.
  • PACKAGE CONTENTS: 包内的模块名,包会用(package)说明.无介绍.
  • SUBMODULES: 子模块?
  • CLASSES: 模块内定义的类介绍及其方法,数据和属性. 包括import * 获得的.先展开列出所有class及子类,再是介绍.
  • FUNCTIONS: 模块类定义的一般函数. 包括import * 获得的.
  • DATA: 定义的模块全局变量.
  • AUTHOR,VERSION,DATE等: __author__, __version__, __date__: 作为附加信息使用赋值方式定义,也会列在模块后.显示相应大写字符串. 这些叫metadata, 类似还有copyright, email, status, license, credits(数组,有贡献的人)等.

部分特殊变量是会有显示的, 但也有就是特殊__罢了.而_var_var_变量会作为private变量/函数而不在help中显示信息, 以帮助简化及保护信息.

类设置help信息:

在类的开头定义后写上的第一个字符串段就是类的主要说明,会跳过前面的空行,注释行. ''' ... ''''...'均可.

“Methods defined here/inherited from …”: 本类内定义的/从母类继承的方法 “Data descriptors inherited from”: 本类内定义的/从母类继承的内容描述,例如__dict__等特殊内容 “Data and other attributes inherited from”: 本类内定义的/从母类继承的属性,是类内定义的变量等.注意不包括函数(包括__init__)内

函数设置help信息:

在函数定义下面注意缩进的第一个字符串内容('''...'''或'..')或者注释内容就是其注解.注意是函数def下面!注意缩进!

比较dir:

dir能列出模块或对象的方法属性等, 以列表返回. 而help则是列出这些信息以外还有介绍,但不好进一步处理.

本博文已合并到Python语法汇总中, 不再更新.



◆ 本文地址: http://platinhom.github.io/2015/10/10/pyHelp/, 转载请注明 ◆

前一篇: Python对象的特殊属性和方法
后一篇: Pybel和OpenBabel的安装


Contact: Hom / 已阅读()
Source 类别: Coding  标签: Python