Bootstrap

python系列教程236——隐藏变量

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写(有时候有空也会参与编写),所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

我们知道,使用from *语句导入模块名时,会把模块中所有的变量都导入进来。

那我们可不可以把某些变量“隐藏”起来呢?就是说,不想被from *语句导入进去,不想听它使唤,喊破喉咙都不进去。答案是——可以的!

有两种方法可以免疫from *语句。

第一种方法是在想要“隐藏”的变量名前面加一个下划线。例如,_X。这个X变量就会无视from *语句。

第二种方法就是将需要导出的变量的名称都登记到一个名为__all__的变量中。如下所示。

__all__ = ["Error","encode","decode"] # Export these only

这句代码的意思是,只有名为Error,encode,decode的变量会被from *语句导出,其它变量都对from *语句免疫。

Python会先寻找模块内的__all__列表;如果没有定义的话,from *就会复制出开头没有单下划线的所有变量名。

注意,注意,上面的“隐藏”只对from *语句有效,对import语句是无效的。就是说,我们还是可以使用import语句来导入那些带下划线的变量,也可以导入那些不在__all__列表中的变量。

最近缺赞,麻烦点个赞再点一下收藏。

;