Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有更好的Python文档吗?更结构化?_Python_Api_Documentation - Fatal编程技术网

有更好的Python文档吗?更结构化?

有更好的Python文档吗?更结构化?,python,api,documentation,Python,Api,Documentation,我想这个问题已经被问过了,但我没有找到 我过去曾使用过Java和PHP,我相信它们的文档结构更适合这种语言。至少是他们的API 如果你看看Java的API,那就太棒了。结构良好且可预测。它还允许你找到你不知道存在的新东西。我正在考虑这件事 PHP的结构不是很好,但它在alto中工作得很好。我在说这个 现在,如果您看到Python的等价物(至少是我发现的),您会觉得这是一个很长的教程。在我看来,搜索东西是困难的,而且没有一个真正的等级组织。当你阅读函数的时候,在我真正想要一个摘要的时候,也会有很多

我想这个问题已经被问过了,但我没有找到

我过去曾使用过Java和PHP,我相信它们的文档结构更适合这种语言。至少是他们的API

如果你看看Java的API,那就太棒了。结构良好且可预测。它还允许你找到你不知道存在的新东西。我正在考虑这件事

PHP的结构不是很好,但它在alto中工作得很好。我在说这个

现在,如果您看到Python的等价物(至少是我发现的),您会觉得这是一个很长的教程。在我看来,搜索东西是困难的,而且没有一个真正的等级组织。当你阅读函数的时候,在我真正想要一个摘要的时候,也会有很多文字描述一些东西。举个例子,看看关于“格式化字符串语法”的部分,它认为应该放在专门用于该主题的其他地方


所以我的问题是:Python API是否以一种类似JAVA的方式构建?

不确定它是否正是您想要的,但在Python REPL环境中,您可以使用
帮助
,以获得更切题的东西:

如果您输入特定的方法名称,您可以获得更多信息,即
帮助(str.format)


Python在标准库中有一个类似于Javadoc的库,称为
pydoc

您可以使用以下命令将其作为web服务器启动

$ python -m pydoc -b
(或
-p80
如果随机端口给您带来麻烦,请转到
http://localhost

这将打开一个web浏览器,允许您浏览标准库以及您碰巧安装的任何其他软件包


请注意,您还可以使用
help()
实用程序从Python的交互式shell/REPL获取所有这些信息

>>> help()
假设您想找到对字符串执行操作的函数,例如strip()。您如何使用这两种方法找到此函数

将显示
str
类型的帮助,包括其所有方法

如果您不知道字符串的类型是
str
,您可以制作一个字符串并询问其类型:

>>> type("foo")
<class 'str'>
>>> help(type("foo"))
但是,因为您已经知道名称是
strip()
,所以您可以请求有关该对象的帮助

>>> help(str.strip)
这将显示方法签名和docstring(如果有)

使用Pydoc的web服务器,您可以单击起始页“内置模块”中的
内置链接,然后单击
str
链接查看完全相同的信息,因为Pydoc也提供
help()

还有一个“搜索”和“获取”栏。在“获取”栏中输入
str.strip
,您就可以直接找到它,就像使用
help(str.strip)
一样


这是很好的信息。谢谢有没有在网上发布的地方?所以你不必在本地启动服务器


据我所知没有。而且似乎没有给出太多的观点。本地服务器的优势在于,它根据您启动它时使用的解释器准确地记录系统上安装的内容,即使您安装了多个Python版本(或者正在使用安装了不同软件包的virtualenvs)。即使是标准库也可能因操作系统或发行版以及(从源代码编译时)编译时可用的C库的不同而有所不同。

它们是可比的,Javadoc可能更优越。真正的问题是在你不知道自己想要什么的时候找到你想要的,而这最好是通过搜索引擎+stackoverflow来实现的。你可能想要,你可以在主文档页面上找到哪个链接。Java严格遵循对象模型,所以它的API以相同的格式显示每个类。虽然Python有一个类似的类层次结构(一切都是一个类的实例),但它允许各种编程范例,文档反映了这一点。是的,许多模块的文档看起来更像是一个深入的如何使用教程,而不是一个正式的类描述。这是一个很好的信息。谢谢有没有在网上发布的地方?所以你不必在本地启动服务器?@glich假设你想找到函数来处理字符串,例如strip()。您如何使用这两种方法找到这个函数呢?请注意,我喜欢W3C,这里还有很好的Python()文档。很好,谢谢:)
>>> type("foo")
<class 'str'>
>>> help(type("foo"))
>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> help(str.strip)