天天看點

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

本節書摘來自華章計算機《樹莓派python程式設計指南》一書中的第3章,第3.7節,作者:(美) alex bradbury ben everard更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

到目前為止,你已經見過import很多次了,但我們并沒有解釋它們究竟做些了什麼。事實上,非常簡單,import隻是将python代碼從另外一個檔案中轉移到目前程式中。如果你建立一個名為module_example.py的檔案,并寫入下面這行:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

"https://yqfile.alicdn.com/bb0434e3017edf295f99b6c75aa533f85a84ee8a.png

" >

将其儲存在你的home目錄(對于預設使用者就是/home/pi)。現在,在idle3的python解釋器中輸入:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

https://yqfile.alicdn.com/7484e9680d0e9de5b1d2752a73b066b31f79e06c.png

當然,這是個毫無意義的子產品。通常子產品中包括可以使用的函數或對象。把module_example改成:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

你必須重新開機idle才能重新使用新代碼。重新開機之後運作:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

https://yqfile.alicdn.com/83acb46bea99384c1a794defbc84befa1894a52d.png

第一行将module_example的所有函數和類導入你的工程中,在函數或類名前加上子產品名作為字首就可以使用它們了。有時,你隻需要子產品中的一部分,那麼可以隻導入其中的一部分:

module_example改成:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

https://yqfile.alicdn.com/8486d2f366f016a2a2802cf1d64b7bc6fa223909.png

現在,隻要輸入下面這行就可以運作該函數:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

注意,這裡不需要加子產品名字首。因為我們已經将其導入目前名字空間。這樣做的時候需要確定它和自己定義的其他函數或類沒有沖突。為了友善使用,你也可以将某個子產品的所有東西都導入目前名字空間:

《樹莓派Python程式設計指南》——3.7 使用子產品獲得附加特性

https://yqfile.alicdn.com/515fec3a738dbe8d73c9c7a0507721540fd5247e.png" >

這樣做需要非常小心,以避免名字空間沖突。

使用子產品而不是将所有東西放入一個檔案有很多優點。它使得代碼可以在不同工程間複用(關于代碼複用,還記得我們是怎麼說的麼?)。它還可以避免将大工程儲存在單個檔案中帶來的不便。你可以将不同的子產品分給不同的組,友善團隊一起工作。

後繼章節中,我們将圍繞幾個特别的子產品,為你的樹莓派工程增加許多足夠酷的特性。