Python教程:import与from ... import ...的区别
from 不修改,import會修改
1、語法分析:首先from A import a1 是從A模塊導入a1工具(可以是某個 函數,全局變量,類),import A是導入整個A模塊的全部內容(包括全部的函數,全局變量,類)。
2、內存分析:from...import...會在內存中創建并加載該模塊工具的副本,當有另外一個程序導入時,會在內存中創建另一個副本進行加載,不會共用一個副本,所以程序進行的修改不會影響到被導入的原模塊,且不同程序之間不會互相影響。import...方法導入模塊會在內存中直接加載該模塊的全部屬性。當出現多個程序導入該模塊時,會共用一個模塊,程序之間會互相影響,包括原模塊。
圖文解釋:
(1)創建基礎模塊
(2)from...import...導入模塊,控制臺輸出
第一個腳本model1導入基礎模塊,并修改基礎模塊的值
第二個腳本model2中導入基礎模塊
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #!/usr/bin/python import model_a print '2',model_a.a print '2',model_a.b def sum(): return model_a.a+model_a.b輸出為: 2 3 2 4 3 4 5 4 7使用from model_a import a,b后,在model1中修改a的值沒有影響到model2中
(3)import…導入模塊,控制臺輸出
#在model1中使用import的方式導入model_a #!/usr/bin/python import model_a import model2 print model_a.a print model_a.b model_a.a=5 print model_a.a print model_a.b print model2.sum()輸出為: 2 3 2 4 3 4 5 4 9使用import model_a后,在model1中修改a的值影響到了model2中
3、from...import * 屬于from...import...,只不過是加載了模塊的全部屬性。
總的來說:
1)import和from-import的顯著區別
2)當多個程序需要同時導入一個模塊并且都是訪問時,使用import 可以節省內存空間
3)當多個程序需要同時導入一個模塊當其中一個需要修改模塊,那么修改的模塊的程序應該使用from來導入模塊
總結
以上是生活随笔為你收集整理的Python教程:import与from ... import ...的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python教程:作用域与嵌套函数
- 下一篇: Python两个内置函数locals 和