今天用一個高效學習編程的頂級思維,講解python模塊的正确使用姿勢。
你在學習編程的時候可能會遇到這樣的問題,自己看書的時候明明已經看懂了,感覺自己也記住了。但是當你自己開始敲代碼的時候腦子空空,寫什麼都費勁。
這是為什麼?
因為你沒有掌握正确的學習方法,現在我來告訴你如果學習才能提高效率。
先上過程,答案在最後。
美女鎮樓
1、模塊是個什麼東東?
所有别人寫的或者你寫的 .py 文件。
就這麼簡單,它就是一個包含了定義和聲明的文件。
知道就好了。
需要你記住的是在 import 加載的模塊中還分為幾個類别:
1)、python編寫的代碼文件
2)、使用C或者C 編譯得庫或者dll
3)、多個模塊組成的包
4)、内置模塊(c編寫并連接到python解釋器)
2、為什麼要使用模塊
你自己編寫了一段漂亮的代碼,隻需要傳遞幾個參數進去就能幫你實現大量的計算。因為你熟悉這段代碼的使用方式,每當遇到類似問題的時候就想使用它。
思考一下,你會怎麼處理這種情況?
可以肯定是的,你會在第一時間想到,我隻需要幾秒鐘的複制粘貼就把弄過來了。
很好!這是被允許的。
接下裡你又需要用到自己寫的别的代碼或者别人寫的很實用的代碼,繼續複制粘貼。
很好!用不了幾次,你正在寫的解決問題的代碼已經被七七八八的代碼給攪亂了,自己都看得頭疼有沒有!
模塊的概念就是為了解決這個問題誕生的。
程序越來越大,功能也越來越多,你把它分成一個一個的.py文件看起來就很舒服。
無論是單個的文件,還是這個整體的功能被包成一個模塊,在你寫其他文件的時候用import 的方式引用過來。
實現了功能的多次高效率運用。
3、該如何使用模塊呢?
3.1 import
1)、使用pycharm 建立一個 import_pro.py 文件,并輸入如下代碼
2)、同級目錄下建立一個新的py文件 fibo-test,輸入代碼并運行
知識點:模塊可以包含可執行的語句和函數定義,他們在第一次被import的時候被執行
3)、每個模塊都是獨立的名稱空間,你不用擔心自己寫的變量和模塊中的變量起沖突
4)、你還可以為你導入的模塊起個炫酷的名字
5)、你還可以在一行中引入多個模塊
比如: import re,os,sys
3.2 from ...... import ......
1)、直接把需要使用的函數引用過來,這樣你就可以不用打點調用,看起來又舒服了不少。
2)、如果當前文件存在與被引用模塊中相同的函數名,則會發生當前覆蓋引用
3)、也可以使用 as (這就不用上圖了吧)
4)、你可能會聯想到下面這種方式
from import_pro import *
不建議使用這種方式,因為你也不知道自己都把什麼給導入到你的文件中了,直接放棄這種方式就好。
5)、模塊的循環引用
我在a中引用b中的函數,在b中引用a中的函數
可以,但請放棄這種方式。
當你被一個Bug折騰得死去活來的時候,才想起來老師當年說過這樣不好!
3.3 模塊的搜索路徑
内存中已經加載的模塊->内置模塊->sys.path路徑中包含的模塊
需要注意的是:我們自定義的模塊名不應該與系統内置模塊重名
4、模塊還有哪些注意事項?
4.1 模塊名區分大小寫
foo.py 與 FOO.py 代表的是兩個模塊
4.2 标準模塊
Python 附帶了标準模塊庫,詳見 Python 标準庫參考手冊
4.3 dir()函數
内置函數 dir() 用于查找模塊定義的名稱。返回結果是經過排序的字符串列表:
>>> import import_pro
>>> dir(import_pro)
讀者自行在編輯器中錄入并執行,結果更為直觀
----------------人工分割線----------------
經過上面的演示,相信聰明的你已經找到了提高學習效率的規律。
答案很簡單,就是提問!
如果你還沒有掌握自我提問的技巧,請不要着急。
按照下面幾個問題進行回答,已經能幫助你解決問題,當我們熟練以後再更新它。
1、XXX的概念是什麼?
2、使用XXX的好處是什麼?
3、如何使用XXX?
4、使用XXX還有哪些注意事項?
----------------人工分割線----------------
每次面對一個新問題都把這四個問題當作必答題進行解答,經過一段時間的使用,你會發現這些知識逐漸變成你自身的能力了。
小編感謝您的素質三連!
關注我,帶你在python的世界走得更遠。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!