from與import之間的區別

2021-06-06 09:35:48 字數 794 閱讀 6476

例項:

模組foo.py的內容:

yuqiu@w1-01-11-0492:~$ cat foo.py

#!/usr/bin/python

# filename: foo.py

bar='hello'

print bar

先用from匯入模組:

>>> from foo import bar

hello  #說明模組已經被執行了一次,from和import都會對模組裡的語句執行一遍

>>> bar

'hello'  #從模組裡匯入的內容

>>> bar='yuqiu' #對變數重新賦值

再用import匯入模組:

>>> import foo  #第二次匯入該模組,模組不會再執行,而是從記憶體裡載入資料

>>> foo.bar

'hello'  #為什麼boo.bar的值不是『yuqiu』呢?

原因:from匯入模組的過程:

1、尋找模組foo的位置;

2、將foo源**編譯成位元組碼(根據需要)

3、執行位元組碼

執行位元組碼的過程

foo.bar='hello'

bar=foo.bar  #此時『hello』字串物件便有兩個引用計數

delete foo

對bar重新賦值後bar='yuqiu',bar會引用到另外乙個字串物件'yuqiu'

import foo #再次匯入模組

foo.bar會從記憶體中讀取,所以foo.bar的值為'hello'

python中import與from方法總結

一 模組 包簡介 模組 所謂模組就是乙個.py檔案,用來存放變數,方法的檔案,便於在其他python檔案中匯入 通過import或from 包 package 包是更大的組織單位,用來組織區別管理多個模組檔案。import 用來匯入模組 from 用於從模組中匯入方法 全部或部分 也可用as 重新命...

Python中import和from的一些事。。。

客戶端可以執行import或from語句。如果模組還沒有載入,這兩個語句會去搜尋 編譯以及執行模組檔案程式。主要差別在於,import會讀取整個模組,所以必須進行定義後才能讀取它的變數名 from將獲取 或者是複製 模組特定的變數名。import使乙個變數名引用整個模組物件,因此必須通過模組名稱來得...

include與import引用模版的區別

區別 1。import需要先引用template,然後再使用template include不需要預先引用,直接在需要的地方引入模版即可。2。include模式非常簡單,就是簡單的 替換,不存在作用域,也不能像import一樣使用data傳遞變數 3 import存在作用域的概念。即只會import...