Python 學習之模塊與包

模塊

簡介

在 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 本身就是一個模塊,而它對應的模塊名就是它的包名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章