首页 > 编程语言 > 详细

Python18-05_模块----import加载的底层原理

时间:2020-09-19 18:03:15      阅读:44      评论:0      收藏:0      [点我收藏+]

import加载的底层原理

import的动态导入

import语句本质上就是调用内置函数__import__(), 我们可以通过他实现动态导入, 给__import__()动态传入不同的值, 就能导入不同的模块

1 s = math
2 m = __import__(s)
3 a = m.pi
4 b = m.sin(30)
5 print(a)
6 print(b)

技术分享图片

 

 [注意]:  一般不建议自行导入__import__(), 会导致动态错误, 如果需要动态导入请使用importlib模块

1 import importlib
2 a = importlib.import_module(math)
3 print(a.pi)

技术分享图片

 

 

模块加载问题

当导入一个模块时, 模块中的代码都会被执行, 不过, 如果再次导入这个模块, 则不会再次执行. 

一个模块无论导入了多少次, 这个模块在整个解释器进程内有且只有一个实例对象

1 #coding: utf-8
2 import math
3 print(Python07,实例被加载......)
4 def t1():
5     pass

加载:

1 #coding:utf-8
2 import Python07
3 import Python07
4 import Python07
5 
6 print(###)
7 import importlib
8 importlib.reload(Python07)

技术分享图片

 

Python18-05_模块----import加载的底层原理

原文:https://www.cnblogs.com/xujie-0528/p/13696700.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!