在终端中阅读python文档?

时间:2017-06-22 10:39:24

标签: python python-3.x python-2.7

有没有办法安装python文档,使其可用,就像它是一个联机帮助页? (我知道你可以下载文件的源文件并在vim中阅读它们,使用较少或者其他什么,但我正在考虑一些不那么手动的东西。不想自己动手。)

6 个答案:

答案 0 :(得分:7)

在Debian(和派生的发行版,如Ubuntu)上安装pydoc包。然后,您可以使用pydoc whatever命令。

答案 1 :(得分:6)

这不是文档的精确副本,但内置enter image description here

在交互式python会话中,您只需拨打help(whatever_you_want_to_read_about),例如:

>>> help(all)
Help on built-in function all in module builtins:

all(...)
    all(iterable) -> bool

    Return True if bool(x) is True for all values x in the iterable.
    If the iterable is empty, return True.

或者,您可以开始这样的交互式帮助会话:

C:\Users\Rawing>python -c "help()"

Welcome to Python 3.4!  This is the interactive help utility.

help>

然后输入您想要了解的函数/类/模块:

help> all
Help on built-in function all in module builtins:

all(...)
    all(iterable) -> bool

    Return True if bool(x) is True for all values x in the iterable.
    If the iterable is empty, return True.

答案 2 :(得分:3)

我不知道这是否正是您所寻找的,但是python交互式控制台提供了help命令。您可以通过以下方式使用它。

>>> help()

Welcome to Python 3.6's help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/3.6/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".

help> list

这将输出所有list方法的整个文档。

答案 3 :(得分:2)

如果这是你想要的,我不知道你可以在IDLE上做的所有事情都可以在命令行上完成。例如:

C:>python
>>help(print())
>>help(plt.plot())

这样您就可以访问文档

答案 4 :(得分:1)

您可以使用help(Class-name/method-name/anything)。但也使用 __ doc __

每个类和方法都附加了一个特殊的__doc__ docstring 。例如,查看我在解释器中输入的内容。

>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
>>> print(int.__doc__)
int(x=0) -> integer
int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments
are given.  If x is a number, return x.__int__().  For floating point
numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string,
bytes, or bytearray instance representing an integer literal in the
given base.  The literal can be preceded by '+' or '-' and be surrounded
by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
Base 0 means to interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4

它甚至适用于模块。

>>> import math
>>> math.__doc__
'This module is always available.  It provides access to the\nmathematical functions defined by the C standard.'
>>> math.ceil.__doc__
'ceil(x)\n\nReturn the ceiling of x as an Integral.\nThis is the smallest integer >= x.'
>>> 

由于每个班级都附加了一个__doc__文档字符串,您可以使用 class_name .__ doc __

来调用它。
>>> print(ord.__doc__)
Return the Unicode code point for a one-character string.

答案 5 :(得分:0)

您可以使用 BIF帮助()

在终端中,像

一样转到Python REPL
python

现在键入 help()

例如,现在,如果您希望获得有关名为 IPv4Network(位于ipaddress)包中的类的帮助,则只需指定IPv4Network的标准路径,即 ipaddress.IPv4Network

示例:

$ python3
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help()
Welcome to Python 3.6's help utility!
help> ipaddress.IPv4Network
Help on class IPv4Network in ipaddress:

ipaddress.IPv4Network = class IPv4Network(_BaseV4, _BaseNetwork)
 |  This class represents and manipulates 32-bit IPv4 network + addresses..
 |  
 |  Attributes: [examples for IPv4Network('192.0.2.0/27')]
 |      .network_address: IPv4Address('192.0.2.0')
 |      .hostmask: IPv4Address('0.0.0.31')
 |      .broadcast_address: IPv4Address('192.0.2.32')
 |      .netmask: IPv4Address('255.255.255.224')
 |      .prefixlen: 27
 |  
 |  Method resolution order:
 |      IPv4Network
 |      _BaseV4
 |      _BaseNetwork
 |      _IPAddressBase
 |      builtins.object
 |  
 |  Methods defined here:
 |  
 |  __init__(self, address, strict=True)
 |      Instantiate a new IPv4 network object.
 |      
 |      Args:
 |          address: A string or integer representing the IP [& network].
 |            '192.0.2.0/24'
 |            '192.0.2.0/255.255.255.0'
 |            '192.0.0.2/0.0.0.255'
 |            are all functionally the same in IPv4. Similarly,
 |            '192.0.2.1'

以此类推