亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

Python 中的模塊

Python 模塊是一個 Python 文件,定義了各種功能接口。把復雜的功能封裝為模塊(又稱為庫),將功能實現的細節隱藏起來,使用該模塊(庫)的程序員不需要了解實現的細節。通過調用模塊封裝好的功能,可以用僅僅幾行 Python 代碼實現某項復雜的功能,例如可以用一行代碼就實現一個 Web 服務器。

在 Python 的應用領域中,如:web 開發、人工智能、網絡爬蟲、數據分析等領域,已經存在了大量的模塊,使用這些模塊就可以輕松開發出應用程序。

1. 內置模塊

Python 中的模塊分為兩類:

  • 內置模塊,由 Python 官方提供,包含在 Python 的安裝包中,安裝完 Python 后即可使用
  • 第三方模塊,由 Python 愛好者提供,需要用戶額外安裝

Python 提供了多個內置模塊,提供了日常編程中許多問題的標準解決方案,常見的內置模塊如下:

模塊名 功能描述
os 提供操作系統的 IO 訪問等功能
sys 提供獲取命令行參數等功能
math 提供各種常見的數學運算函數
random 提供產生隨機數的功能
json 提供對 json 文件的解析功能
datetime 提供日期、時間的相關功能

2. 模塊語法

2.1 math 模塊簡介

Python 的 math 模塊提供了很多數學運算功能,例如:三角函數、求平方根、求對數等功能:

函數接口 功能描述
fabs 計算絕對值
sin 正弦函數
cos 余弦函數
sqrt 求平方根

在下面的小節,將使用 math 模塊作為例子講解 Python 中模塊的語法。

2.2 import 語句

import 語句將指定模塊名的模塊導入到程序中,然后程序即可使用模塊中定義的函數,語法如下:

import 模塊名

使用 import 語句的示例如下:

>>> import math
>>> math.fabs(-123.0)
123.0
  • 在第 1 行,引入 math 模塊
  • 在第 2 行,使用 math 模塊中的 fabs 函數求絕對值

2.3 import … as 語句

import … as 語句為模塊取一個別名,程序可以使用模塊的別名訪問模塊中的接口函數,語法如下:

import 模塊名 as 別名

使用 import … as 語句的示例如下:

>>> import math as m
>>> m.fabs(-123.0)
123.0
  • 在第 1 行,引入 math 模塊,設置模塊的別名為 m
  • 在第 2 行,通過模塊的別名 m 訪問模塊

2.4 from … import 語句

from … import 語句從指定模塊中導入指定函數,程序可以通過函數名直接訪問模塊中定義的函數,語法如下:

from 模塊名 import 函數名

使用 from … import 語句的示例如下:

>>> from math import fabs
>>> fabs(-123.0)
123.0
  • 在第 1 行,從 math 模塊中引入函數 fabs
  • 在第 2 行,通過函數名 fabs 訪問模塊中定義的函數

2.5 from … import … as 語句

from … import … as 語句從模塊中導入函數,同時為導入的函數取一個別名,示例如下:

>>> from math import fabs as abs
>>> abs(-123.0)
123.0
  • 在第 1 行,從 math 模塊中引入函數 fabs,并為該函數設置別名 abs
  • 在第 2 行,通過函數的別名 abs 訪問模塊中定義的函數

2.6 from … import * 語句

from … import * 語句導入模塊中全部的功能函數,示例如下:

>>> from math import *
>>> fabs(-123.0)
123.0
>>> sqrt(9)
3.0
  • 在第 1 行,從 math 模塊中導入全部的功能函數
  • 在第 2 行,使用 math 模塊中定義的函數 fabs 求絕對值
  • 在第 4 行,使用 math 模塊中定義的函數 sqrt 求平方根

3. 用戶自定義模塊

3.1 概述

本節講解了如何自定義模塊和使用模塊,例子程序包括兩個文件:

  • 模塊 utils.py,定義了函數 max、函數 min 和變量 PI,它們是模塊提供的接口
  • 主程序 main.py,使用模塊的接口函數和導出變量

3.2 定義模塊

編寫程序 utils.py

PI = 3.14

def max(a, b):
    if a > b:
        return a
    else:
        return b

def min(a, b):
    if a < b:
        return a
    else:
        return b
  • 在第 1 行,定義了模塊的導出變量 PI
  • 在第 3 行,定義了模塊的導出函數 max
  • 在第 9 行,定義了模塊的導出函數 min

3.3 使用模塊

編寫主程序 main.py注意:將 main.pyutils.py 放置在相同目錄下:

import utils
print(utils.PI)
print(utils.max(11, 22))

from utils import min
print(min(11, 22))
  • 在第 1 行,引入模塊 utils
  • 在第 2 行,訪問模塊的導出變量 PI
  • 在第 3 行,訪問模塊的導出函數 max
  • 在第 5 行,引入模塊 utils 中的導出函數 min
  • 在第 6 行,訪問模塊的導出函數 min

運行程序 main.py,輸出結果如下:

C:\> python main.py
3.14
22
11
  • 在第 2 行,輸出 PI 的值
  • 在第 3 行,輸出 max(11, 22) 的結果
  • 在第 4 行,輸出 min(11, 22) 的結果