Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。
在编写和运行Python程序时,你可能会遇到瓶颈,并需要得到帮助。你可能需要知道某些模块、类、函数、关键字等的含义。好消息是Python自带了一个内置的帮助系统。这意味着你不需要在Python本身之外寻求帮助。
在本文中,你将学习如何使用内置的Python帮助系统。
Python help() 函数
这个函数会帮助我们获得某个类、函数、变量、模块等的文档。你需要在Python控制台中使用该函数来获取各种Python对象的详细信息。
向help() 函数传入一个对象
Python help()函数的语法如下:
在上面的语法中,object(对象)参数是你需要获取帮助信息的对象的名称。
例如,你要更多地了解Python的print函数,你可以在Python控制台输入以下命令:
输出:
要获得dict类的帮助信息,请在Python控制台输入以下内容:
输出:
你还可以将一个实际的list对象传递给help()函数:
输出:
我们可以看到,当你将一个对象传递给help()函数时,它的文档或帮助页面就会被打印出来。在下一节中,你将了解将字符串参数传递给help()函数的有关内容。
向 help()传入一个字符串参数
如果你将一个字符串作为参数传递,该字符串会被视为一个函数、模块、关键字、方法、类或文档主题的名称,相应的帮助页面会被打印出来。若要将其标记为一个字符串参数,请将其括在单引号或双引号内。
例如:
输出:
虽然我们将“print”作为一个字符串参数进行传递,但仍然获得了Python的print函数的文档。下面是另一个例子:
输出:
这里,我们将“def”作为一个字符串参数传递给help()函数,它返回了用于定义函数的文档。
如果没有找到匹配的对象、方法、函数、类或模块,你将得到通知信息。例如:
输出:
我们被告知没有找到关于我们的字符串的任何文档。
有时候,我们可能需要获得关于某个Python库中定义的某个函数的帮助信息。这要求我们首先导入这个库。一个很好的例子是,当我们需要获得Python的math库中定义的log函数的文档时。在这种情况下,我们首先需要导入math库,然后再调用help()函数,如下所示:
输出:
使用不带参数 的help() 函数
help()函数可以不带参数使用。如果你不带参数运行该函数,交互式的Python帮助程序就会在解释器控制台启动。你只需要在Python控制台输入以下命令:
这将返回Python的帮助程序,你可以在该实用程序上输入需要获得帮助信息的对象的名称。例如:
输出:
要返回到前面的提示符,只需按“q”。
下面是另一个例子:
输出:
要离开帮助程序并返回到Python控制台,你只需键入“quit”并按enter键:
输出:
在下一节中,我们将讨论如何为自定义对象定义help()。
为自定义函数和类定义帮助文档
通过定义一个docstring(文档字符串),我们可以为我们的自定义函数和类定义help()函数的输出。在Python中,添加到方法主体的第一个注释字符串会被视为方法的docstring。这个注释必须用三个双引号括起来。例如:
在上面的例子中,我们定义了一个名为product的函数。这个函数乘以两个整数值,a和b会作为实参/形参传递给它。请看三个双引号内的注释:
这条注释将被作为product函数的docstring。
现在,创建一个新文件并将其命名为“myfile.py”。将以下代码添加到文件中:
在上面的例子中,我们已经为一个函数、类和方法定义了docstring。
现在,我们需要演示如何在Python控制台中将上面的docstring作为帮助文档来获取。
首先,我们需要在控制台上执行该脚本,以便将函数和类定义加载到Python环境中。对此,我们可以使用Python的exec()方法。在Python控制台运行以下命令:
或者,如果你已经在Python IDLE中编写了代码,那么你只需运行它。
现在,我们可以通过在Python控制台运行globals()命令来确认函数和类模块是否已经被检测到:
在我的例子中,我得到如下输出:
如上面的输出所示,Student和product都在全局范围字典中。现在,我们可以使用help()函数来获得Student类和product函数的帮助信息。只需在Python控制台运行以下命令:
输出:
我们来查看product函数的帮助文档:
输出:
现在,我们来访问Student类的帮助文档:
输出:
在输出中,我们可以看到我们为Student类编写的文档。
结论
Python提供了一个内置的帮助系统,我们可以从中获得关于模块、类、函数和关键字的帮助信息。你可以在REPL中使用Python的help()函数来访问这个帮助程序。当我们调用这个函数并将一个对象传递给它时,它会返回该对象的帮助页面或文档。当我们在不带参数的情况下运行该函数时,帮助程序会被打开,我们可以在其中以交互的方式来获得关于对象的帮助信息。最后,为了获得关于自定义类和函数的帮助信息,我们可以定义docstring(字符串文档)。英文原文:https://stackabuse.com/the-python-help-system/
译者:一瞬