python的中文含义-python __all__ 含义
1. 背景
最近看了一些代码,发现有些python文件在import 下面声明 __all__,查阅资料了解其含义。
2. 含义
约定公开接口 : 可以清晰明了的知道该文件暴露的接口, 约定成俗的调用该接口。
限制该行为from XXX import * : code当中不建议使用 from xxx import * 的写法的,但线下调试的时候经常用到。如果模块中没有定义 __all__,执行 from XXX import * 的时候会将模块中非下划线开头的成员都导入当前命名空间中,这样就有可能弄脏当前命名空间, 调试容易产生问题。如果显式声明了 __all__,import * 就只会导入 __all__ 列出的成员。但它只对import *起作用,对from XXX import XXX不起作用。
3. 用例
被测文件test.py
__all__ = ['a',
'b',
'run',]
a = 'aaa'
b = 'bbb'
c = 'ccc'
def run():
print 'Run the function.'
测试结果
只能导入__all__声明的变量或函数
对from test import c 无效
test 1:
In [1]: from test import *
In [2]: print a
aaa
In [3]: print b
bbb
In [4]: run
Out[4]:
In [5]: run()
Run the function.
In [6]: print c
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in ()
----> 1 print c
NameError: name 'c' is not defined
test 2:
In [7]: from test import c
In [8]: print c
ccc
注意
__all__ 是 list 类型, 不要写表达式
按照 PEP8 建议的风格,__all__ 应该写在所有 import 语句下面,和函数、常量等模块成员定义的上面
正式代码中尽量不要使用 from XXX import *
python的中文含义-python __all__ 含义相关推荐
- python语言中文社区-python语言中文
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 为了得到一个可以正常返回的 url ,需要修改示例中的 secretid ...
- python语言中文社区-python中用中文
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 花下猫语:在 python 中是否可以实现中文数字的四则运算呢? 答案是 ...
- python语言中文社区-python的汉语
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. sdk 3.0 实现了统一化,各个语言版本的 sdk具备使用方法相同.接 ...
- python语言中文社区-python解决中文
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! python 添加中文注释时出现运行失败. 需要在顶部设置编码. # coding ...
- python语言中文社区-python numpy看这一篇就够了-Go语言中文社区
numpy基础 1.为什么要学习numpy? -> 快速 -> 方便 -> 科学计算的基础库 2.什么是numpy? 一个在Python中做科学计算的基础库,重在数值计算,也是大部分 ...
- python语言中文社区-Python 之父谈 Python-Go语言中文社区
在宣传海报上,Python 之父 Guido van Rossum 在 EuroPython 2015 会议的发言分为讲话稿和现场问答部分,但是他上台后将全程改为现场问答的形式.他在回答现场观众的问题 ...
- python开发中文软件-Python 3程序开发指南(第二版)
2011年2月出版的,绝对最新哦,扫描绝对超级清楚. 在本书中,一流的Python程序员Mark Summerfield展示了如何充分利用Python 3的功能与特性来编写代码.与以前的版本相比.Py ...
- Python中的__name__和__main__含义详解
背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main(): ...... if __name__ == "__ma ...
- paip.提升效率--调试--日志系统日志参数含义---python
paip.提升效率--调试--日志系统日志参数含义---python #同时向控制台和文件输出日志 #日志参数含义 import logging log_format = '%(filename)s ...
最新文章
- python怎么判断一个文件是否存在-python判断文件是否存在的方法
- GRUB基本使用介绍
- 系统设计面试题思路综述
- python url编码 空格_使用请求和python时URL中的空格
- beyond compare类似软件_BIM工作是什么?需要哪些BIM软件来完成?
- Oracle中NVARCHAR2与VARCHAR2的相互转换
- 查看文章影响因子的插件_Scholarscope--在新版PubMed中实现基于影响因子的文献筛选...
- arm 模式 Linux,ARM Linux:usr模式转为svc模式的实现原理
- 老虎ji 剪枝模拟
- java开发工程师简历项目经验怎么写?应该注意哪些事项?
- python宿舍管理系统_python实现宿舍管理系统
- 投资:螺纹钢研究框架
- MATLAB如何打开chm文件
- 谷歌R语言代码风格规定:
- 5大原因告诉你,Python程序员为何如此难招!
- java 和 c md5加密_Java与C++实现同样的MD5加密算法
- DCG【Dual Conversion Gain】是什么?
- 【Web技术】1397- 深入浅出富文本编辑器
- 高通+android笔记本电脑,华为发布三款笔记本电脑,其中一款搭载高通骁龙850处理器...
- python封装线程类(启动、终止、查看线程状态)