Python中的模块第二季

各位小伙伴,大家周二愉快!

本期课程继续和大家共同探讨一下Python中的模块。

昨天我们已经了解了如何使用基本的模块及模块的导入操作,今天我们来学习模块的一个特殊的属性:“__name__”(注意:name两边分别有两个英文状态下的‘_’符号)

话说,这玩意有啥用呢?很简单,有了name属性,我们就可以让一个模块、包、项、甚至函数在自我运行时候和被导入(包含)运行的时候执行不同的内容,请看下面的例子:

首先我们编写这样一段代码把他保存成name.py文件,作用是:

如果这个文件是自我运行的,就会输出‘本程序正在运行’

如果这个文件是被其他文件导入的,就会输出‘被导入到其他模块’

好了,下面我们运行一下这个程序本身:

下面,我们把以上程序保存成name.py,用其他程序进行导入,来看看效果:

好了,我们再运行一下这个语句:

哎?啥么情况?!为什么第二次导入之后没有输出结果呢?

你是否还记得上次课程中,常老师强调过,import一个模块的时候,无论你import多少次,模块只会被导入一次?(这里的效果有点像JAVA中的构造函数)

PS. 这里面要强调一下《标准模块》,Python的标准模块(可以理解成自带模块)可以再Python的参考文档中找到,但是使用标准模块的时候有一点要注意,针对不同的操作系统,模块的定义甚至名称会不同,这在我们写程序的时候是需要注意的。

-------------------------------------------------

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180109G099ZL00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区