通常,我使用IntelliJ进行python编程。但有时我无法访问它或只是为了快速编辑我在文本编辑器中打开Python文件。
在那些时候,很难找到类的命名空间。我正在谷歌上搜索它。但这需要时间。有更好的方法吗?
修改 看看回复,我注意到我的问题不是很清楚。
我需要在编码时找到类的命名空间,而不是在运行时。因此,使用inspect
或__module__
等内省方法对我没有帮助。
WildSeal建议使用online doc。这很好,但它只适用于Python的标准库。我想搜索当前Python路径中安装的所有模块。使用IntelliJ很容易。它已经索引了所有文件。
我尝试使用grep
来搜索site-packages
目录中的类。但是搜索所有文件需要花费大量时间,可能因为它们尚未编入索引。
答案 0 :(得分:2)
让我们不要忘记dir()
,我们这些使用vim作为IDE的人大量使用它。
答案 1 :(得分:1)
我使用ctags并且我已经预先将我的site-packages
以及其他文件夹编入索引。有许多GUI and command line tools将与ctags集成以满足您的需求。就个人而言,我使用vim
作为TagList插件(instructions)的文本编辑器。
答案 2 :(得分:0)
您可以查看online documentation或随Python安装的文档。如果您搜索某个函数或类,您将获得所有相关信息(我假设您的意思是Python标准库中类或函数的包或模块)。
虽然它们并不多,至少人们通常会同时使用,所以你应该很快了解它们。
答案 3 :(得分:0)
特殊属性__module__是定义类的模块名称。如果在顶级脚本中定义,它将是'__main__'。
答案 4 :(得分:0)
试试inspect。getmodule:
>>> import inspect
>>> class Foo:
pass
>>> inspect.getmodule(Foo)
<module '__main__' (built-in)>
那里也有很多其他很酷的东西。