from module import 和 import 的區別

pythontab發表於2013-01-27

最近在用codecademy學python,遇到一些題目錯誤,小小記錄一下

如from math import sqrt是把sqrt作為本檔案的方法匯入進來了,使用的時候只需要直接呼叫sqrt。

而如果import是import math,那麼呼叫的時候要採用math.sqrt的方式。

那麼如果在自己的檔案裡定義了相同名字的函式怎麼辦呢,來實驗一下

from math import sqrt  
def sqrt(n):  
    return n  
print sqrt(13689)  
raw_input() 

執行py檔案輸出13689,所以自己定義了函式會自動遮蔽掉。

所以大量引用import math.*是個比較好的辦法,from math import *就容易出錯了,當然用到很少的函式且次數較多時上面這種辦法會比較合適。

另外python不支援像java那樣import math.sqrt


相關文章