python 基础---模块

import 模块名

import 模块名 as 别名

import 模块1,模块2,模块3

from 模块名 import  方法名

from 模块名 import  方法名  as 别名

from 模块名 import  *

__all__ = ['要使用的方法1',‘要使用的方法2’]  只能在使用 from 模块名 import  *  起作用

 1 #demo.py
 2 import my_module #只在第一次导入时才执行my_module.py内代码,此处的显式效果是只打印一次'from the my_module.py',当然其他的顶级代码也都被执行了,只不过没有显示效果.
 3 import my_module
 4 import my_module
 5 import my_module
 6 
 7 '''
 8 执行结果:
 9 from the my_module.py
10 '''
我们可以从sys.modules中找到当前已经加载的模块,sys.modules是一个字典,内部包含模块名与模块对象的映射,该字典决定了导入模块时是否需要重新导入。

模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path路径中包含的模块

我们可以通过模块的全局变量__name__来查看模块名:
当做脚本运行:
__name__ 等于'__main__'

当做模块导入:
__name__= 模块名

作用:用来控制.py文件在不同的应用场景下执行不同的逻辑
if __name__ == '__main__':

 1 def fib(n):   
 2     a, b = 0, 1
 3     while b < n:
 4         print(b, end=' ')
 5         a, b = b, a+b
 6     print()
 7 
 8 if __name__ == "__main__":     #只在自己模块内运行下面的程序
 9     print(__name__)            #本模块被引用时,下面的不执行,可当作模块的测试
10 num = input('num :') 11 fib(int(num))

猜你喜欢

转载自www.cnblogs.com/dzc18/p/9431999.html