python常见的import导包方式

发布时间:2021-07-28 17:10:09 作者:chen
来源:亿速云 阅读:273

这篇文章主要介绍“python常见的import导包方式”,在日常操作中,相信很多人在python常见的import导包方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python常见的import导包方式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.控制模块被全部导入的内容

当使用’from module import *’ 语句时,希望对从模块或包导出的符号进行精确控制。在你的模块中定义一个变量 “_ all _” 来明确地列出需要导出的内容。

# somemodule.pydef spam():    passdef grok():    passblah = 42# Only export 'spam' and 'grok'__all__ = ['spam', 'grok']


尽管强烈反对使用 ‘from module import *’, 但是在定义了大量变量名的模块中频繁使用。如果你不做任何事, 这样的导入将会导入所有不以下划线开头的。另一方面,如果定义了 “_ all _” , 那么只有被列举出的东西会被导出。

如果你将 “_ _all__" 定义成一个空列表, 没有东西将被导入。如果 " _all _” 包含未定义的名字, 在导入时引起AttributeError。

2.将模块分割成多个文件

你想将一个模块分割成多个文件。但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏。
程序模块可以通过变成包来分割成多个独立的文件。考虑下下面简单的模块:

# mymodule.pyclass A:    def spam(self):        print('A.spam')
class B(A):    def bar(self):        print('B.bar')

假设你想把 mymodule.py 分为两个文件,每个定义的一个类。要做到这一点,首先用mymodule目录来替换文件mymodule.py。在这个目录下,创建以下文件:

mymodule/    __init__.py    a.py    b.py

在a.py文件中插入以下代码:

# a.pyclass A:    def spam(self):        print('A.spam')

在b.py文件中插入以下代码

# b.pyfrom .a import Aclass B(A):    def bar(self):        print('B.bar')

最后,在 _ init _.py 中,将2个文件粘合在一起:

# __init__.pyfrom .a import Afrom .b import B

如果按照这些步骤,所产生的包MyModule将作为一个单一的逻辑模块:

>>> import mymodule>>> a = mymodule.A()>>> a.spam()A.spam>>> b = mymodule.B()>>> b.bar()B.bar>>>

到此,关于“python常见的import导包方式”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. python程序常见的错误和执行方式
  2. 添加css的方式:link与@import区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:docker中怎么创建一个redis镜像

下一篇:docker中怎么创建MariaDB镜像

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》