Python基礎入門教程20: 企業級開發基礎 自定義模塊
來源:
奇酷教育 發表于:
1 模塊的概念和意義2 模塊的定義和使用3 再說變量的作用域之前的課程中,我們已經了解了python程序設計開發的基礎部分內容包含了數據類
1 模塊的概念和意義
2 模塊的定義和使用
3 再說變量的作用域
之前的課程中,我們已經了解了python程序設計開發的基礎部分內容
包含了數據類型、變量、運算符、程序選擇結構、循環結構、函數處理、字符串處理等等內容。
本節內容開始,我們開始學習python企業級開發基礎部分的內容,會涉及到模塊式整合開發、面向對象程序設計、錯誤的調試和測試、高級開發[文件IO處理,網絡編程,多線程程序開發、正則表達式等等]內容,
1. 模塊的概念和意義
我們在常規程序開發的過程中,如果只是通過python來寫一些項目維護的小腳本程序,前面學過的內容已經基本夠用了,但是如果涉及到企業級開發的復雜的一些需求的話,程序設計開發過程中會出現大量的代碼,如果著大量的代碼(如:1萬行代碼)寫在一個python文件中,就會讓這個文件的體積非常的龐大,開發過程中會造成大量的不必要的問題:如變量定義是否會覆蓋其他定義的變量,添加功能處理代碼會否影響其他的功能,由于大量代碼集中在一個文件中導致修改維護變得非常的不容易,代碼的可讀性非常差等等各種問題。
此時,為了方便我們將不同的處理功能區分開,我們將處理不同數據或者功能的函數分別分組存放在不同的python文件中,就會將上面一個比較龐大的python文件拆分成多個python文件,每個python文件中的代碼內容會比較少,通過多個Python文件互相組合的方式來完成復雜的處理功能。這樣拆分的不同的python文件,每個python文件就是一個單獨的python模塊,專業術語:module
我們定義好的Python模塊,可以在需要的地方,通過import 模塊名稱關鍵字來引入這個模塊,代碼如下:

拆分模塊的好處是第一、將一個比較復雜的單文件拆分成多個文件,方便代碼的管理和開發維護,第二、我們開發并完善好的Python模塊,在其他需要這個模塊功能的地方就可以直接引入組合這個模塊,不需要重復編寫Python代碼了,第三、不同的python模塊中,就可以使用相同名稱的變量了,不同模塊中的變量不會互相覆蓋數據或者產生沖突,降低了我們代碼開發的成本
變量在之前的課程中,我們已經提到了變量在Python中有局部變量和全局變量的區分,是通過是否定義在函數內部來區分的。
此時有了多模塊之后,對于變量的作用域,需要進行更加細致的劃分。
3.1. 模塊內部
模塊內部,還是按照正常的情況進行劃分,按照是否定義在函數內部來區分全局變量和局部變量,在模塊文件內部,變量的使用沒有任何的變量
在模塊內部,變量依舊是全局變量/局部變量,變量的作用域正常使用即可

3.2. 不同模塊之間的變量訪問
python中定義了模塊之后,不同模塊之間訪問數據和函數的情況就比較常見了;模塊中的變量,有些是需要讓別的模塊訪問的,有些是不希望別的模塊訪問的,此時就會將變量區分為模塊公開的變量、模塊私有的變量兩種變量了。
python的模塊中,按照正常的命名規則命名的變量或者函數,規范為公開的變量或者函數,其他的模塊都可以正常的訪問
python的模塊中,使用一個下劃線開頭來命名的變量或者函數,規范為私有的變量或者函數,只能在當前模塊中使用
python的模塊中,使用兩個下劃線開頭的變量,可以別模塊直接引用使用具有特殊的含義,如__name__表示當前模塊名稱等等;規范要求我們自己的變量名稱盡量不要使用這樣的名稱。