模塊
一個.py
文件就稱之為一個模塊(Module)。
Python又引入了按目錄來組織模塊的方法,稱為包(Package)。
注:每一個包目錄下面都會有一個__init__.py
的文件,這個文件是必須存在的,否則,Python就把這個目錄當成普通目錄,而不是一個包。__init__.py
可以是空文件,也可以有Python代碼,因為init.py本身就是一個模塊,而它的模塊名就是mycompany
使用模塊
#!/usr/bin/env python3 #可讓這個.py文件直接在Unix/Linux/Mac上運行
# -*- coding: utf-8 -*- #表示這個.py文件本身使用UTF-8編碼
' a test module ' #這個字符串是模塊代碼的第一個字符串,表示文檔注釋
__author__ = 'Michael Liao' #利用__author__把作者寫入
#--------------------以上是Python的標準文件模板---------------------
import sys #導入sys 模塊
def test():
args = sys.argv #sys模塊中的argv變量,至少有一個元素
if len(args)==1:
print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__=='__main__':
test()
總結:在if __name__ == "__main__"
:之后的語句作為模塊被調用的時候,語句之后的代碼不執行;直接使用的時候,語句之后的代碼執行。通常,此語句用于模塊測試中使用。
作用域:
正常的函數和變量名是公開的(public),可以被直接引用
類似__xxx__
這樣的變量是特殊變量,可以被直接引用,但是有特殊用途
類似_xxx
和__xxx
這樣的函數或變量就是非公開的(private),不應該被直接引用
關于private:外部不需要引用的函數全部定義成private,只有外部需要引用的函數才定義為public。
- 安裝第三方模塊
使用Mac或Linux,安裝pip本身這個步驟就可以跳過了
使用Windows,確保安裝時勾選了pip和Add python.exe to Path
安裝:pip install Pillow
模塊搜索路徑:
試圖加載一個模塊時,Python會在指定的路徑下搜索對應的.py文件,如果找不到,就會報錯:ImportError: No module named mymodule
要添加自己的搜索目錄,有兩種方法:
一是直接修改sys.path,添加要搜索的目錄:
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')
#這種方法是在運行時修改,運行結束后失效。
第二種方法是設置環境變量PYTHONPATH