首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有可能让`__init__.py`中的导入对python ` `help()`命令可见?

在Python中,__init__.py是一个特殊的文件,用于标识一个目录是一个Python包。它通常为空文件,但也可以包含一些初始化代码。

help()命令是Python的内置函数,用于获取对象的帮助信息。它会显示对象的文档字符串(docstring)以及其他相关信息。

__init__.py文件中导入的模块是不会直接对help()命令可见的。因为help()命令是通过查找对象的__doc__属性来获取帮助信息的,而导入的模块并不会直接影响到__doc__属性。

然而,如果在__init__.py文件中导入的模块中定义了文档字符串,那么这些文档字符串会被包含在__init__.py的帮助信息中。这意味着,通过在导入的模块中编写详细的文档字符串,可以间接地使得__init__.py中的导入对help()命令可见。

以下是一个示例:

代码语言:txt
复制
# __init__.py

from mymodule import MyClass

__doc__ = """
This is a Python package.

It provides a MyClass object for performing some operations.
"""

# mymodule.py

class MyClass:
    """This is a class for performing some operations."""
    pass

在上面的示例中,__init__.py文件中导入了MyClass类,并且定义了一个包级别的文档字符串。当使用help()命令查看__init__.py时,会显示__init__.py的文档字符串以及MyClass类的文档字符串。

需要注意的是,这种方式只是间接地使得__init__.py中的导入对help()命令可见,而不是直接的方式。如果想要直接将导入的模块对help()命令可见,可以考虑在模块级别编写文档字符串,并使用help()命令查看该模块的帮助信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python module manage

(3) 执行模块代码来创建其所有定义对象:模块文件所有语句会依次执行,从头至尾,而此步骤任何变量名赋值运算,都会产生所得到模块文件属性。     ...__init__.py包含python代码,但通常为空,仅用于扮演包初始化挂钩、替目录产生模块命名空间以及使用目录导入时实现from * 行为角色。                     ...完成打包:在要发布容器目录执行“python setup.py sdist”命令就可以生成包了。...--help            python setup.py --help-command  所有可以使用命令            python setup.py COMMAND --...help 获取特定命令帮助            python setup.py COMMAND --help-formats 获取特定命令支持格式            python setup.py

65910

13 Python 基础: 模块概念及使用方法并着重介绍两个常用模块

本文首发于腾讯云+社区,也关注微信公众号【离不开网】支持一下。 ---- 模块 在计算机程序开发过程,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。...__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它模块名就是mycompany。 类似的,可以有多级目录,组成多级层次包结构。...__,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外代码,最常见就是运行测试。...关于代码if __name__ == '__main__':可能看了之后可能挺晕,下面举几个例子解释下,希望能让大家这行代码功能有更深认识,还是那句话,欢迎大家指正定会虚心接受。...>python atestmodule.py atestmodule计算结果: 2 在刚才两个模块路径打开,用命令行运行anothertestmodule.py: C:\work>python anothertestmodule.py

1K60
  • odoo 开发入门教程系列-模型和基本字段

    ORM 层是odoo一个关键组件。该层避免了手动写入大部分SQL并提供扩展性和安全服务. 业务对象被定义为继承于 ModelPython类。可以通过在定义设置属性来配置model。...model _name . 会被ORM自动化转为_ 。按约定所有的model位于一个名为 models 目录,并且每个mode被定义为一个Python文件。...来看下 crm_recurring_plan 表是怎么定义,以及对应Python文件是怎么导入: 在 odoo/addons/crm/models/crm_recurring_plan.py 定义.../usr/bin/env python # -*- coding:utf-8 -*- from . import estate_property 在estate/__init__.py导入 models...有些属性是所有字段都拥有的,最常见几个属性如下: string (str, default: 字段名称) UI上显示为字段label (用户可见).

    2.4K30

    Python入门(8)

    如果我们就此止步的话,当我们面对一个大型复杂应用需求时候,我们是很难使用一个或几个应用程序来搞定它。所以,Python有没有更高级工具?神奇如Python,当然是有的。...模块导入应用通常有以下两种方式: 1、import 语句 2、from ... import 语句 这就像其他很多优秀面向对象编程语言一样,Python也引进了这个更高级别的重要对象,它能将一些重用函数集成到一起...由此,也引入了一个重要编程理念,那就是凡是遇到需要构建任何一个解决问题方法(解决方案)时,我们都要努力地把它“封装”到重用函数,这样,我们就有机会在下一次遇到相同或类似的问题时候,实现代码重用...事实上,函数集合才能让模块具有更大意义。...但是,如果我们自定义模块,我们就要特别注意,在导入模块时,python解释器将从sys.path变量所提供目录中进行搜索。如果找到了对应模块,则该模块语句将开始运行,并能为你所使用。

    46130

    方便 Python:扩展方便

    时隔一年没有更新博客,这次准备来个专题「方便 Python」。 一个资深程序员写代码,要能让新人看懂,一个大师级程序员写代码,能让 CS 专业大一学生看懂。...Python China 新闻。...动态导入+注册中心: 小刘发现这样改动点还是太多了,主要原因是这个字典需要自己维护,很浪费精力。有没有办法自动生成这个映射呢?用注册大法!...,开发者在扩展新新闻源时候,关注点无需在不同文件跳来跳去。...为了避免每次新增其他新闻时还修改 expand/sources/__init__.py 代码,可以根据使用 Django 经验想到,可以扫描 sources/ 目录下面的所有文件,自动导入所有新闻子类

    31530

    Python基础】08、Python

    模块内含变量,函数以及类来进行其工作,而函数和类可以包含变量和其它元素 4、导入模块      在导入模块时只能使用模块名,而不能使用带.py后缀模块文件名  import语句:      ...模块文件所有语句会依次执行,从头至尾,而此步骤任何变量赋值运算,都会产生所得到模块文件属性 注意:  模块只在第一次导入时才会执行如上步骤:               后续导入操作只不过是提取内存已加载模块对象...,则py_pkg_mod容器必须要在模块搜索路径 import package1.mod1 包导入语句路径内每个目录内都必须有__init__.py文件        __init__.py包含...python setup.py --help-commands    所有可以使用命令,如build,install,sdist,bdist python setup.py COMMAND --help...  获取特定命令帮助 python setup.py COMMAND  python setup.py COMMAND --help-formats  获取特定命令支持使用格式 示例:发布pkg1

    1.8K10

    Python import 【总结】

    总结:模块__all__对对象限制,仅对fromimport有效,import无效。 4.2 Python2 4.2.1 导入包 在__init__.py文件,直接import该包下模块。...Python2用from package import*导入package下__init__.py文件限制模块。将解释器切换至Python3,发现也正常执行。...5 总结 针对模块导入,模块采取__all__限制from moduleimport *导入对象,模块导入Python2和Python3并没有差异,都不会抛出异常; 针对包导入Python2...包下__init__文件可直接import对应包下模块,Python3不能这样导入,需使用相对路径导入(from . import module),而相对路径导入方法Python2和Python3...都有效; 针对包导入Python2包下__init__文件中使用__all__限制frompackage import *对象时,Python2和Python3都有效; 针对从包来导包导入,例如本例

    72320

    友好 Python:扩展友好

    构思一篇博客真的是太难了,至少我这种懒人来说。...前言 Python 是一门相当灵活动态语言,这就导致实现一件事情可用方法往往不止一个,于是就有很多人质疑 Python 之禅这一句话: There should be one-- and preferably...Pythonic 这个形容词虽然虚无缥渺,但我觉得这个定义是比较符合。 忘了在哪里看到:一个资深程序员写代码,要能让新人看懂,一个大师级程序员写代码,能让 CS 专业大一学生看懂。...当然,在 sources/__init__.py 还是得导入这些文件(from sources import hn 就够了,无需导入具体子类)。...启用魔法 改完之后小 F 数了一数,现在如果要扩展一个新闻源,改动点还剩两个: 新增子类文件 在 sources/__init__.py导入一次 Python 这么自由,一定有办法再削减,于是小

    18620

    python之基础篇(八)——模块与包

    模块执行环境:     模块是被导入,但模块也可以导入和使用其它模块,这些模块可以用python或其它编程语言写成     模块内含变量、函数以及类来进行其工作,而函数和类可以包含变量和其它元素....pyc文件       执行模块代码来创建其所定义对象         模块文件所有语句会依次执行,从头至尾         而此步骤任何变量名赋值运算,都会产生所得到模块文件属性...使用以下命令导入:     import package1.mod1   包导入语句路径内每个目录内都必须有__init__.py文件:     __init__.py包含python代码,但通常为空...python setup.py --help         python setup.py --help-commands:所有可以使用命令,如build,install         python...setup.py COMMAND --help:获取特定命令帮助         python setup.py COMMAND --help-formats:获取特定命令支持使用格式 5、安装打包好模块

    2.4K30

    Python if __name__ == __main__ 该如何理解

    不管是导入还是直接运行,最顶层代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入时候,有一部分代码我们是不希望被运行。   ...,最后运行 main 函数就相当于定义做一遍人工检查,看看值设置都对不对。...__ 我们执行 python -c "import a.b.c",输出结果: a a.b a.b.c 由此可见,__name__ 可以清晰反映一个模块在包层次。...直接运行是把 run.py 文件所在目录放到了 sys.path 属性。以模块方式运行是把你输入命令目录(也就是当前工作路径),放到了 sys.path 属性。...后序   我试图使用长篇大论来阐述,在 Python 如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够明白。

    1.1K40

    Python if __name__ == __main__ 该如何理解

    不管是导入还是直接运行,最顶层代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入时候,有一部分代码我们是不希望被运行。   ...,最后运行 main 函数就相当于定义做一遍人工检查,看看值设置都对不对。...__ 我们执行 python -c "import a.b.c",输出结果: a a.b a.b.c 由此可见,__name__ 可以清晰反映一个模块在包层次。...直接运行是把 run.py 文件所在目录放到了 sys.path 属性。以模块方式运行是把你输入命令目录(也就是当前工作路径),放到了 sys.path 属性。...后序   我试图使用长篇大论来阐述,在 Python 如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够明白。

    86630

    python基础——python包【创建和导入,下载第三方包】

    逻辑上:python本质还是模块 python特点: 1,外观上:这个文件夹多了个圈 2,文件夹里面的文件:当我们创建python时候,__init__.py文件是必须存在(一般情况下...其他以.py后缀结尾文件就是我们写好模块文件 (即:python模块文件+__init__.py文件构成文件夹就是python包) 二,创建和导入python包 1,创建 pycharm里面创建...python基本步骤: 如图所示:右击左边栏目——点击新建——再点击python软件包 当我们创建好后,__init__.py文件会被自动创建 2,导入 python本质是模块,...我们可以在__init__.py文件规定__all__,这和上一篇文章python——模块里面讲__all__一样,可以控制*导入模块 语法(在__init__.py文件里面写): __all.../simple 只需要在后面输入这个网址就行: 安装好以后,想看看有没有安装好,只需要导入就行,没有异常就是安装好了: 我们还可以用pip list来查看我们所安装第三方包: 2

    16910

    Python学习笔记 模块介绍

    有没有什么方法可以向Java静态导入那样,直接使用函数而不需要模块名呢?当然也是可行,不过这需要下面的导入方式。 from io import * 这种方式虽然简单,但是要注意适当使用。...所以最好办法还是使用第一种,当然如果你代码很小,确认没重名,那么使用哪种方法都可以。 执行模块 有时候我们不仅需要导入一个模块函数,还需要执行一个模块代码。执行代码可以使用下面的命令。...python 文件名.py 默认情况下,当我们导入一个模块时候,它代码就会自动执行。如果我们需要将导入和执行分隔开,不想在导入时候执行模块,就需要在模块添加类似下面的代码。...'] dir内置函数 我们都知道在windows命令提示符下输入dir就会列出当前文件夹信息,类似Linuxls。...所以一般我们都需要对一次性导入模块进行控制。 方法也很简单,在包__init__.py文件,操作__all__变量。在__all__变量,指定要导入包。

    66860

    Python 学习入门(35)—— 模块

    然后,我们通过F:\Pro-files\workspace\myPython\com\homer目录进入到python命令行模式,这样就可以将当前目录作为工作目录,从而也就可以顺利找到了module...需要注意是无论是使用import还是使用from..import方式导入模块,其实都是在告诉python解释器要加载指定模块,并执行模块所有语句,因此如果模块中有类似print语句时,我们在导入过程也会看到这些语句输出...判断语句段即可(__main__) 通过__name__变量来区分是执行模块还是导入模块其实就非常类似javamain函数了,不同是java是约定方法名称,而python约定是变量名称,异曲同工之效...PVM在导入某个包下模块时会先导入这个包下__init__.py模块,比如我们在__init__.py模块里添加内容: print("This is __init__ module") 然后,在交互模式下重新导入这个包...,则输出效果如下: >>> from com.homer import module_3 This is __init__ module Hello World >>>  可见,PVM首先加载是__init

    74020
    领券