標籤:

Python一星期入門第6篇: 模塊和包

模塊(module)的概念

源代碼當然不可能全在一個文件里, 一般會分成多個目錄, 多個文件. 模塊就是指一個獨立的.py文件.假設程序有兩個模塊分別是a.py 和 b.py , a 需要引入 b的方法/變數/類, 用的是import關鍵字.

這是b.py 文件的內容:

這是a.py的內容

運行a.py 觀察控制台, 你會看到:

在用import 引入其他模塊的時候, 在模塊里運行的代碼會立刻執行. 這個特點非常重要並時刻記住.

import 也支持這樣的語法: 這個模塊引入, 然後使用裡面的變數/方法/類. 新建一個c.py 內容如下:

可見import 是很靈活的. 事實上import 會有這麼幾種寫法:

import bnfrom b import * nfrom b import xxnfrom x.y import d

第4句表示從x文件夾下的y文件夾引入d模塊, 為了加深你的認識, 看看下面的截圖

在包x下有包y, 在包y內有個d.py 模塊 ,內容如下:

與x文件夾同級的路徑下有x.py , x.py 引入了d.py, 如下:

包(packag)的概念

之前我說過, 包就是文件夾, 精確來說, python的包是包含1個 __init__.py 模塊的文件夾. __init__.py 只是個空文件, 什麼內容都沒有.

你有兩種辦法創建包, 一種是新建文件夾, 然後複製一個空的 __init__.py 文件到文件夾. 或者直接用pycharm的功能. 在左邊源碼樹里點滑鼠右鍵, 然後選擇 New - Python Package 即可.

如果你學過java或者c#, 你應該很了解包這個概念. 想像一下java程序里那些包: org.springframework.context. .... Python 也可以做到, 但一般不推薦這麼做. 我建議包的級別最多在2層, 就ok了.


推薦閱讀:

python Web 運維 爬蟲.....一條龍學習視頻教程
神奇的yield
如何回答同學知道我在學 Python 時問我「會盜 QQ 號嗎」?
為機器學習愛好者推薦一本書《貝葉斯方法:概率編程與貝葉斯推斷》

TAG:Python |