【python基礎】函數-模組

2023-06-20 09:00:59

函數的優點之一是,使用它們可將程式碼塊與主程式分離。通過給函數指定函數名稱,可讓主程式容易理解的多。我們還可以更加細化,將函數儲存在被稱為模組的獨立檔案中,再將模組匯入到主程式中。import關鍵字作用就是將模組中的程式碼匯入到當前主程式中。
通過將函數儲存在獨立的檔案中,可隱藏程式程式碼細節,將重點放在程式的高層邏輯編寫上。這還能在不同的程式中多次呼叫函數。將函數儲存在獨立檔案中後,可與其他程式設計師共用這些檔案而不是整個程式,所以知道如何匯入函數還能使用其他程式設計師編寫的函數庫。
匯入模組的方法有多種,我們接下來一一介紹

1.匯入整個模組

1.1建立模組

要讓函數是可匯入的,得先建立模組。模組是擴充套件名為.py的檔案,包含要匯入到程式中的程式碼。下面我們來建立一個錄入人員資訊的模組,我們新建一個.py檔案,並且將其命名為people.py。

  1. 新建檔案。左鍵選中專案名稱course,右擊course出現一級選單選擇New,出現二級選單選擇Python File

    2.編寫檔名people,點選回車

    3.我們發現在main.py檔案下面出現了一個people.py。

    4.我們在檔案中編寫程式碼如下所示:

1.2匯入模組並呼叫模組函數

模組建立好之後,我們匯入模組,並且呼叫模組函數,此時我們準備在主程式main.py檔案中匯入people模組,並呼叫insert_people函數,
匯入模組的語法格式:
import 模組名
呼叫函數的語法格式:
模組名.函數
編寫程式如下所示:

通過輸出結果發現,是符合我們的設想的,這裡import關鍵字把people模組中的程式碼匯入到主程式main中,我們再通過模組.函數的方式,也就是people.insert_people的方式將人員資訊錄入,錄入結束返回錄入結果,將錄入結果新增到list_people這個人員列表中,然後我們再將list_people輸出。

1.3匯入特定的函數

有時模組中函數較多,但是我們只想使用其中的某幾個函數,為了程式的高效執行,我們可以不用把整個模組匯入,而是隻匯入模組中我們需要的函數即可,這裡就會用到from關鍵字,作用就是讓Python要匯入哪個模組的函數
匯入特定函數其語法格式:
from 模組名 import 函數
呼叫特定函數其語法格式:
函數
我們再編寫一個,修改人員名稱的函數,在people模組中編寫如下程式:

我們在main函數中呼叫update_people函數,在main主程式中編寫程式如下所示

1.4as關鍵字

as關鍵字是給模組或者函數起別名的,這樣做一方面是為了讓模組名或者函數名避免過長,另一方面是為了避免與主程式中現有的名稱衝突,使用as可以指定一個簡短而獨一無二的別名。

1.4.1給模組指定別名

我們將名字為'王五'的人員資訊刪除,people模組編寫程式如下所示:

在主函數main中呼叫,編寫程式如下所示:

1.4.2給特定的函數指定別名

查詢所有人的資訊,people模組編寫程式如下所示:

主程式main編寫程式如下所示:

people模組的list_people函數,正好和主程式中的list_people變數重名,通過起別名的方式,可以實現正常執行,如果不起別名會引起錯誤。

1.5匯入模組中的所有函數

使用*號運運算元可讓Python匯入模組中的所有函數
其語法格式:
from 模組名 import *
由於匯入了所有函數,可直接通過名稱來呼叫每個函數,而無須使用模組.函數的方法。然而,使用並非自己編寫的大型模組時,最好不要採用這種匯入方法,因為如果模組中有函數名稱和編寫的專案中使用的名稱相同,可能導致意想不到的效果,Python可能遇到多個名稱相同的函數或變數,進而覆蓋函數,而不是分別匯入所有的函數。
最好的做法是,要麼只匯入需要使用的函數,要麼匯入整個模組並使用模組.函數的語法格式呼叫函數。