模塊
簡介
在 Python 中,一個 .py 文件就稱之爲一個模塊(Module)。
使用模塊有什麼好處?
- 大大提高了代碼的可維護性;
- 編寫代碼不必從零開始;
- 可以避免函數名和變量名衝突
創建自己的模塊時,要注意:
- 模塊名要遵循Python變量命名規範,不要使用中文、特殊字符;
- 模塊名不要和系統模塊名衝突,最好先查看系統是否已存在該模塊,檢查方法是在Python交互環境執行import abc,若成功則說明系統存在此模塊。
使用模塊
1. import 語句
想使用 Python 源文件,只需在另一個源文件裏執行 import 語句,語法如下:
import module1[, module2[,... moduleN]
實例:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import math
_author_ = 'Kevin_Gong'
print(math.pi)
結果:
3.141592653589793
2. from … import 語句
Python 的 from 語句讓你從模塊中導入一個指定的部分到當前命名空間中,語法如下:
from modname import name1[, name2[, ... nameN]]
實例:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from fibo import fib, fib2
_author_ = 'Kevin_Gong'
print(fib(500))
結果:
1 1 2 3 5 8 13 21 34 55 89 144 233 377
3. from … import * 語句
這個語句可以把某個模塊中的所有方法屬性都導入。
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from sys import *
print(version)
print(executable)
結果:
3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe
注意:這提供了一個簡單的方法來導入一個模塊中的所有方法屬性。然而這種聲明不該被過多地使用。
包
爲了避免模塊名衝突,Python 又引入了按目錄來組織模塊的方法,稱爲包(Package)。
就算有相同的模塊名,也不會造成重複,因爲包名不同,其實也就是路徑不同。
每一個包目錄下面都會有一個 init.py 的文件。
因爲這個文件是必須的,否則,Python 就把這個目錄當成普通目錄,而不是一個包 。 init.py 可以是空文件,也可以有Python代碼,因爲 init.py 本身就是一個模塊,而它對應的模塊名就是它的包名。