自學Python-11 模塊


自學Python-11 模塊

什麼是模塊

python中每個文件就是一個模塊,模塊是對程序代碼的一種封裝,可以方便重用,使用模塊可以避免函數名與變量名的衝突。

實例1:

自學Python-11 模塊

實例2:

自學Python-11 模塊

引入模塊

1.from…import[as]從模塊中只導入一部分,例如一個函數、一個變量。as可以給導入的精確對象起個別名。

實例1:

自學Python-11 模塊

2.import [as]

導入整個模塊的內容。這種方式必須用 模塊名.對象名調用。as可以給模塊起個別名。

例如 import module1 as m1,當模塊名較長時,用as起個別名就很方便了。

還有一種比較極端的方式:from…import *

這種方式簡單粗暴,寫起來比較省事,可以直接使用模塊中的所有對象而不需要再使用模塊名作為前綴。但一般並不推薦這樣使用。一方面這樣會降低代碼的可讀性,有時候很難區分自定義函數和從模塊中導入的函數;另一方面,這種導入對象的方式將會導致命名空間的混亂。如果多個模塊中有同名的對象,只有最後一個導入的模塊中的對象是有效的,而之前導入的模塊中的同名對象都將無法訪問,不利於代碼的理解和維護。

__name__屬性

如果我們導入的模塊除了定義函數之外還中有可以執行代碼,那麼Python解釋器在導入這個模塊時就會執行這些代碼,事實上我們可能並不希望如此,因此如果我們在模塊中編寫了執行代碼,最好是將這些執行代碼放入如下所示的條件中,這樣的話除非直接運行該模塊,if條件下的這些代碼是不會執行的,因為只有直接執行的模塊的名字才是"main"。

自學Python-11 模塊

總結

從現在開始我們可以將Python代碼按照下面的格式進行書寫,這一點點的改進其實就是在我們理解了函數和作用域的基礎上跨出的巨大的一步。

自學Python-11 模塊

pass語句:空語句,什麼都不做。當你沒想好代碼怎麼寫,就可以加個pass佔位,保持程序完整。


分享到:


相關文章: