朋友們舍扰,如需轉(zhuǎn)載請標明出處:https://blog.csdn.net/jiangjunshow
聲明:在人工智能技術教學期間悼瘾,不少學生向我提一些python相關的問題杰妓,所以為了讓同學們掌握更多擴展知識更好地理解AI技術姚垃,我讓助理負責分享這套python系列教程淑倾,希望能幫到大家弓候!由于這套python教程不是由我所寫休玩,所以不如我的AI技術教學風趣幽默,學起來比較枯燥片择;但它的知識點還是講到位的了潜的,也值得閱讀!想要學習AI技術的同學可以點擊跳轉(zhuǎn)到我的教學網(wǎng)站字管。PS:看不懂本篇文章的同學請先看前面的文章啰挪,循序漸進每天學一點就不會覺得難了!
創(chuàng)建一個Python模塊非常非常簡單嘲叔,只需要使用文本編輯器亡呵,把一些Python代碼輸入至文本文件中,然后以“.py”為后綴名進行保存硫戈,就會被自動認為是Python模塊锰什。
我們在名為module1.py的文件中輸入下面的def語句。
def printer(x): # Module attribute
print(x)
模塊的創(chuàng)建已經(jīng)講完了,是滴汁胆,就是這么簡單梭姓。下面我們再來說說模塊的使用。
我們可以通過執(zhí)行import或from語句嫩码,來使用上面編寫的簡單模塊文件誉尖。
兩個語句主要的差別在于,import會讀取整個模塊谢谦;from將獲仁臀(或者說是復制)模塊中特定的變量名。讓我們從代碼的角度來看這意味著什么吧回挽。
先看看import没咙。
>>>import module1 # Get module as a whole
>>>module1.printer('Hello world!') # Qualify to get names
Hello world!
如果使用import,我們必須通過模塊名稱來得到該模塊的屬性(例如千劈,module1.printer)祭刚。
再看看from。
因為from會把變量名復制到另一個作用域墙牌,所以它就可以讓我們直接在腳本中使用復制后的變量名涡驮,而不需要通過模塊名稱。
>>>from module1 import printer # Copy out one variable
>>>printer('Hello world!') # No need to qualify name
Hello world!
上面兩個例子有著相同的效果喜滨,但是from語句出現(xiàn)時捉捅,導入的變量名會復制到作用域內(nèi),在腳本中使用該變量名就可少輸入一些:我們可直接使用變量名虽风,而無須在嵌套模塊名稱之后棒口。
我們還可以使用from *語句。
當我們使用*時辜膝,會取得模塊頂層所有賦了值的變量名的拷貝无牵。在這里,我們還是在腳本中使用復制后得到的變量名printer厂抖,而不需要通過模塊名茎毁。
>>>from module1 import * # Copy out all variables
>>>printer('Hello world!')
Hello world!
從技術角度來說,import和from語句都會使用相同的導入操作忱辅。from *形式只是多加個步驟七蜘,把模塊中所有變量名復制到了進行導入的作用域之內(nèi)。從根本上來說耕蝉,這就是把一個模塊的命名空間融入另一個模塊之中崔梗;實際效果就是可以讓我們少輸入一些。
點贊垒在,收藏,謝謝!