日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Python基础入门系列】第06天:Python 模块和包

發布時間:2023/12/20 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python基础入门系列】第06天:Python 模块和包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ??在計算機程序的開發過程中,隨著程序代碼越寫越多,在一個文件里代碼就會越來越長,越來越不容易維護。

為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文件里,這樣,每個文件包含的代碼就相對較少,很多編程語言都采用這種組織代碼的方式。在Python中,一個.py文件就稱之為一個模塊(Module)。

先給大家解釋一下模塊、包、庫之間的概念:

  • 模塊(module)其實就是?py 文件,里面定義了一些函數、類、變量等

  • 包(package)是多個模塊的聚合體形成的文件夾,里面可以是多個 py 文件,也可以嵌套文件夾

  • 庫是參考其他編程語言的說法,是指完成一定功能的代碼集合,在 Python 中的形式就是模塊和包

下面我們來分開介紹:模塊

?

使用模塊有什么好處?

最大的好處是大大提高了代碼的可維護性。其次,編寫代碼不必從零開始。當一個模塊編寫完畢,就可以被其他地方引用。我們在編寫程序的時候,也經常引用其他模塊,包括Python內置的模塊和來自第三方的模塊。

使用模塊還可以避免函數名和變量名沖突。相同名字的函數和變量完全可以分別存在不同的模塊中,因此,我們自己在編寫模塊時,不必考慮名字會與其他模塊沖突。但是也要注意,盡量不要與內置函數名字沖突

定義和調用 Python 模塊

下面先來看真實的定義一個 Python 模塊。

定義一個 hello.py 模塊,內容如下:

def sayhello( ):print("Hello 學長!")

一般情況下,我們使用?import 語句來引入模塊:

import module1[, module2[,... moduleN]]

當解釋器遇到 import 語句,如果模塊在當前的搜索路徑就會被導入。調用的時候使用?模塊名.函數名?來進行調用

以上的示例為例,我們新建 do.py 文件調用 hello.py 模塊中方法。

do.py 文件內容如下:

# 導入模塊 import hello# 現在可以調用模塊里包含的函數了 hello.sayhello()

在 do.py 頁面執行快捷鍵 ctrl+b (sumblime中)

控制臺輸出:Hello 學長!,證明調用 hello.py 中的方法成功。

再來說“包”

?

你也許還想到,如果不同的人編寫的模塊名相同怎么辦?為了避免模塊名沖突,Python又引入了按目錄來組織模塊的方法,稱為包(Package)。

舉個例子,一個abc.py的文件就是一個名字叫abc的模塊,一個xyz.py的文件就是一個名字叫xyz的模塊。

現在,假設我們的abc和xyz這兩個模塊名字與其他模塊沖突了,于是我們可以通過包來組織模塊,避免沖突。方法是選擇一個頂層包名,比如mycompany,按照如下目錄存放:

mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py


?

包(package)是 Python 中對模塊的更高一級的抽象。

簡單來說,Python 允許用戶把目錄當成模塊看待。這樣一來,目錄中的不同模塊文件,就變成了「包」里面的子模塊。此外,包目錄下還可以有子目錄,這些子目錄也可以是 Python 包。這種分層,對模塊識別、管理,都是非常有好處的。

特別地,對于一些大型 Python 工具包,內里可能有成百上千個不同功能的模塊??茖W計算領域,SciPy, NumPy, Matplotlib 等第三方工具,都是用包的形式發布的。

包定義

常見的包層級目錄結構如下:

pakageName
-------__init__.py
-------moduleName1.py
-------moduleName2.py
------- ...

包路徑下必須存在?__init__.py?文件。

使用 Python 包

Python 包的使用和模塊的使用類似,下面是導入的語法:

import 包名.包名.模塊名

?

?

總結

?

本節給大家介紹了 Python ?模塊和包的使用,模塊是一組Python代碼的集合,可以使用其他模塊,也可以被其他模塊使用。創建自己的模塊時,要注意:

  • 模塊名要遵循Python變量命名規范,不要使用中文、特殊字符;

  • 模塊名不要和系統模塊名沖突,最好先查看系統是否已存在該模塊,

    檢查方法是在Python交互環境執行import abc,若成功則說明系統存在此模塊。

?

參考:

https://www.liaoxuefeng.com/wiki/1016959663602400/1017454145014176

https://www.python.org/

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【Python基础入门系列】第06天:Python 模块和包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。