今天就跟大家聊聊有关Python中__all__的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
1、在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中,
如:全局变量,函数,类。如下,test1.py和main.py
test1.py
__all__=["test"] def test(): print('----test-----') def test1(): print('----test1----')
main.py
from test1 import * def main(): test() #test1() main()
两个文件在同一个目录下。
此时执行python main.py时结果如下:
但是如果放开main.py的注释后,如下:
那么在模块中的__all__变量就是为了限制或者指定能被导入到别的模块的函数,类,全局变量等,如果指定了那么只能是指定的那些可以被导入,没有指定默认就是全部可以导入,当然私有属性应该除外。
2、在包下的__init__.py中
sound/effects/__init__.py中添加__all__ = ["echo", "surround", "reverse"]
那么就会在from sound.effects import *时,包含上面三个模块。当__init__.py为空时,只是导入这个包,并非导入模块。
__init__.py中可以执行一些初始化内容,比如:
from . import test1 导入当前目录下的test1模块
from .. import test 导入上一层目录下的test模块
因为导入 包时会首先执行下__init__.py这个文件
看完上述内容,你们对Python中__all__的作用是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。