国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

7 Python的模塊和包

這篇具有很好參考價(jià)值的文章主要介紹了7 Python的模塊和包。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

概述

????????在上一節(jié),我們介紹了Python的異常處理,包括:異常、異常處理、拋出異常、用戶自定義異常等內(nèi)容。在這一節(jié)中,我們將介紹Python的模塊和包。Python的模塊(Module)和包(Package)是Python的兩個(gè)主要概念,它們都是用來組織和封裝代碼的機(jī)制。

什么是模塊

????????模塊實(shí)際上就是一個(gè)Python文件,它包含了Python對(duì)象定義和Python語句。文件名是模塊名加上“.py”后綴,比如:如果一個(gè)文件名為my_module.py,那么它就被稱為my_module模塊。模塊讓你能夠有邏輯地組織你的Python代碼段,把相關(guān)的代碼分配到一個(gè)模塊里能讓你的代碼更好用、更易懂。模塊能定義函數(shù)、類和變量,模塊里也能包含可執(zhí)行的代碼。模塊可以被別的程序引入,以使用該模塊中的函數(shù)、類等功能。

????????Python中的模塊可以分為兩種:內(nèi)置模塊和第三方模塊。內(nèi)置模塊是Python自帶的模塊,比如:datetime(日期和時(shí)間處理)、math(數(shù)學(xué)運(yùn)算)、random(隨機(jī)數(shù)生成)等。第三方模塊則是由Python社區(qū)或開發(fā)者開發(fā)的模塊,在Python的官方網(wǎng)站上可以找到。

????????使用模塊的好處有很多,主要包括:提高代碼復(fù)用性、代碼組織結(jié)構(gòu)更加清晰、降低程序耦合性、提高程序的安全性等。

導(dǎo)入模塊

????????在Python中,可以使用import語句來導(dǎo)入模塊,這使得你可以使用其他模塊中定義的函數(shù)、類和變量。導(dǎo)入模塊時(shí),Python會(huì)執(zhí)行該模塊中的所有頂層代碼。如果模塊本身又導(dǎo)入其他模塊,那么這些導(dǎo)入的模塊也會(huì)一并被執(zhí)行。

# 導(dǎo)入os模塊
import os
# 導(dǎo)入math模塊
import math

# 使用os模塊中的變量
print(os.curdir)

# 使用math模塊中的函數(shù)
print(math.pow(2, 4))

????????在上面的示例代碼中,os和math都是Python提供的標(biāo)準(zhǔn)庫模塊。os模塊提供了與操作系統(tǒng)交互的函數(shù),math模塊則提供了許多與數(shù)學(xué)計(jì)算相關(guān)的函數(shù)。

????????如果你只想導(dǎo)入模塊中的特定函數(shù)和變量,可以使用from import的語法。如果你想導(dǎo)入模塊中的所有內(nèi)容,可以使用from import *的語法。

# 從math模塊導(dǎo)入log10函數(shù)
from math import log10
# 從os模塊導(dǎo)入所有內(nèi)容
from os import *

# 使用math模塊的log10函數(shù)
print(log10(100))
# 使用os模塊的cpu_count函數(shù)
print(cpu_count())

自定義模塊

????????除了導(dǎo)入系統(tǒng)的內(nèi)置模塊,還可以創(chuàng)建自定義模塊,并導(dǎo)入這個(gè)自定義模塊。比如:你有一個(gè)名為my_module.py的Python文件,其中定義了一個(gè)名為為my_func的函數(shù)。

# my_module.py文件

def my_func(a):
    print(a)

????????你可以在另一個(gè)Python文件main.py中導(dǎo)入my_module模塊,并使用該模塊中的函數(shù)。

# main.py文件
import my_module

my_module.my_func('hello CSDN')

__name__

????????在Python中,__name__是一個(gè)特殊變量,用于表示一個(gè)模塊的名稱。當(dāng)一個(gè)模塊被直接運(yùn)行時(shí),__name__的值為__main__。當(dāng)該模塊被導(dǎo)入為庫或者子模塊時(shí),__name__的值將是該模塊的名稱。

????????這個(gè)變量常用于在模塊中執(zhí)行特定的代碼,只有當(dāng)該模塊被直接運(yùn)行時(shí)才執(zhí)行。在一個(gè)模塊中,可以使用if __name__ == "__main__"來確保后面的代碼只在該模塊被直接運(yùn)行時(shí)執(zhí)行,而在其他模塊中被導(dǎo)入時(shí)則不執(zhí)行。比如:有一個(gè)模塊my_sky,對(duì)應(yīng)的my_sky.py文件如下。

# my_sky.py

def sky_blue():
    print('sky blue')

if __name__ == '__main__':
    sky_blue()

????????直接運(yùn)行my_sky.py時(shí),會(huì)執(zhí)行sky_blue函數(shù)并輸出“sky blue”。但在另一個(gè)腳本中導(dǎo)入my_sky.py時(shí),并不會(huì)執(zhí)行sky_blue函數(shù)。這個(gè)特性常用于編寫可執(zhí)行腳本或測試腳本,只有在直接運(yùn)行該腳本時(shí),才會(huì)執(zhí)行某些操作。

什么是包

????????包是一個(gè)包含多個(gè)模塊的目錄,該目錄下必須包含一個(gè)名為__init__.py的文件,該文件可以為空。包可以嵌套,即一個(gè)包可以包含多個(gè)子包。包提供了組織模塊的機(jī)制,使得模塊能夠按照目錄結(jié)構(gòu)進(jìn)行分類,便于管理和查找。包將相關(guān)的代碼文件和資源文件打包在一起,從而形成一個(gè)獨(dú)立的單元。

????????Python的包可以包含:Python模塊、其他包、包特定的數(shù)據(jù)文件和配置文件。

創(chuàng)建包

????????要?jiǎng)?chuàng)建一個(gè)Python包,需要?jiǎng)?chuàng)建一個(gè)文件夾,通常以該包的名稱命名,并在該文件夾中包含一個(gè)__init__.py文件。這個(gè)__init__.py文件是一個(gè)特殊的文件,當(dāng)一個(gè)包被導(dǎo)入時(shí),該文件會(huì)自動(dòng)執(zhí)行,這可以用于初始化該包或定義在該包中導(dǎo)出的函數(shù)和變量。包中還可以包含其他的.py文件,這些文件中包含函數(shù)、類、變量等包的特定代碼。

????????創(chuàng)建一個(gè)Python包的具體步驟如下:

????????1、創(chuàng)建一個(gè)文件夾,作為包的根目錄,并命名為包的名字,包名通常使用小寫字母和下劃線。

????????2、在該文件夾中創(chuàng)建一個(gè)名為__init__.py的文件。這個(gè)文件是一個(gè)特殊的文件,當(dāng)一個(gè)包被導(dǎo)入時(shí),該文件會(huì)自動(dòng)執(zhí)行。這個(gè)文件可以是空的,也可以包含一些初始化代碼,或者定義在該包中導(dǎo)出的函數(shù)和變量。

????????3、在該文件夾中創(chuàng)建其他的Python文件和文件夾,用于包含包的具體代碼和資源。

????????4、如果需要在包的元數(shù)據(jù)中使用一些特殊的標(biāo)記或者依賴項(xiàng),可以在該文件夾中創(chuàng)建一個(gè)名為setup.py的文件,用于描述該包的元數(shù)據(jù)和依賴項(xiàng)。

????????下面是一個(gè)簡單的示例,展示了如何創(chuàng)建一個(gè)包含兩個(gè)模塊的Python包。

????????1、創(chuàng)建一個(gè)名為my_package的文件夾,作為包的根目錄。

????????2、在該文件夾中創(chuàng)建兩個(gè)Python文件,分別為module1.py和module2.py。

????????3、在module1.py中定義一個(gè)名為func1的函數(shù)。

# module1.py文件
def func1():  
    return "Hello from module 1"

????????4、在module2.py中定義一個(gè)名為func2的函數(shù)。

# module2.py文件
def func2():  
    return "Hello from module 2"

????????5、在my_package文件夾中創(chuàng)建一個(gè)名為__init__.py的文件,用于導(dǎo)出在模塊中定義的函數(shù)。

# __init__.py文件
from .module1 import func1
from .module2 import func2

????????6、現(xiàn)在,你可以在其他Python代碼中使用這個(gè)包了。

import my_package

# 輸出:Hello from module 1
print(my_package.func1())
# 輸出:Hello from module 2
print(my_package.func2())

導(dǎo)入包

????????要使用一個(gè)Python包,需要使用import語句來導(dǎo)入該包,并使用.操作符來訪問該包中的函數(shù)、類和變量等。比如:有一個(gè)名為my_package的包,其中包含一個(gè)名為my_module的模塊,my_module模塊中包含一個(gè)名為my_func的函數(shù),可以使用下面的示例代碼來使用該包。

import my_package.my_module

my_package.my_module.my_func()

????????在Python中,導(dǎo)入包的具體步驟如下:

????????1、確保已經(jīng)將包安裝到你的Python環(huán)境中,可以使用pip命令來安裝包,比如:pip install package_name。

????????2、使用import語句導(dǎo)入包,可以使用點(diǎn)號(hào)來指定包的路徑。在下面的示例代碼中,將導(dǎo)入package包中的module模塊。

import package.module

????????3、如果只想導(dǎo)入包中的某個(gè)模塊或函數(shù),可以使用from import語句。在下面的示例代碼中,將導(dǎo)入package包中的module模塊,并可以直接使用該模塊中的函數(shù)和變量。

from package import module

????????4、如果需要導(dǎo)入包中的多個(gè)模塊或函數(shù),可以使用逗號(hào)分隔它們。在下面的示例代碼中,將導(dǎo)入package包中的module1、module2、func1和func2。

from package import module1, module2, func1, func2

????????注意:包和模塊的名稱,必須與文件系統(tǒng)中的目錄結(jié)構(gòu)相對(duì)應(yīng)。如果包中沒有包含__init__.py文件,則不能將其視為一個(gè)包。此時(shí),需要手動(dòng)將該目錄添加到Python的模塊搜索路徑中才能正常使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-680528.html

到了這里,關(guān)于7 Python的模塊和包的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • CMake:檢測python模塊和包

    CMake:檢測python模塊和包

    上一篇,我們基本了解了如何去檢測 python 的解釋器和 python 庫。通常,代碼是依賴于特定的 python 模塊,無論是 python 工具、嵌入 python 的程序,還是擴(kuò)展 python 的庫。例如, numpy 包。依賴于 python 模塊或包的項(xiàng)目中,確定滿足對(duì)這些 python 模塊的依賴非常重要。 項(xiàng)目地址:

    2024年02月13日
    瀏覽(19)
  • Python的模塊(module)和包(package)

    Python的模塊(module)和包(package)

    Python 的模塊(module) 和包(package) 概述 在Python中,簡單地說,模塊(Module)一般是單個(gè)python文件;包(package)由分層模塊(Module)構(gòu)成——相關(guān)目錄里的模塊構(gòu)成。Python中的庫(library)是參考其它編程語言的說法,既可以是一個(gè)模塊也可以是一個(gè)包,換言之是對(duì)模塊或包的通

    2024年02月09日
    瀏覽(24)
  • Python模塊和包:sys模塊、os模塊和變量函數(shù)的使用

    模塊化指將一個(gè)完整的程序分解為一個(gè)一個(gè)小的模塊,通過將模塊組合,來搭建出一個(gè)完整的程序。模塊化具有方便開發(fā)、維護(hù)和復(fù)用的優(yōu)點(diǎn)。在Python中,每個(gè)py文件就是一個(gè)模塊。 在一個(gè)模塊中引入外部模塊有兩種方式: import 模塊名 和 import 模塊名 as 模塊別名 。后者可以

    2024年02月08日
    瀏覽(28)
  • 【100天精通python】Day15:python 第三方模塊和包,模塊如何以主程序形式執(zhí)行

    目錄 1 常用的第三方模塊 2. 第三方模塊的安裝和使用 2.1 安裝第三方模塊:

    2024年02月15日
    瀏覽(90)
  • Python3.11教程3:模塊和包(pip/conda)、文件系統(tǒng)(os/ shutil/json/pickle/openpyxl/xlrd)

    本文相關(guān)鏈接: Python官網(wǎng)、Python 3.11.5 中文文檔、慕課:Python語言程序設(shè)計(jì)、Real Python :Write More Pythonic Code Miniconda、Anaconda、conda文檔 Python 標(biāo)準(zhǔn)庫官方文檔、 《os — 多種操作系統(tǒng)接口》、《os.path — 常用路徑操作》、《shutil — 高階文件操作》 Pandas文檔《Input/output》、 op

    2024年02月09日
    瀏覽(49)
  • 【python】python下的跨目錄import模塊

    在使用C++語言進(jìn)行項(xiàng)目開發(fā)時(shí),如果需要調(diào)用其他目錄的頭文件時(shí),直接#include \\\"xxx/xxx/xxx/xxx.h\\\"就可以實(shí)現(xiàn),但是在python下的用法不大一樣。 這個(gè)最簡單,也最常見。假設(shè)目錄格式如下,運(yùn)行的是father.py,希望在father.py中import son.py: 假設(shè)我們當(dāng)前運(yùn)行的是文件層級(jí)較深的so

    2024年02月14日
    瀏覽(18)
  • Python中import模塊導(dǎo)入的實(shí)現(xiàn)原理

    Python中import模塊導(dǎo)入的實(shí)現(xiàn)原理

    歡迎關(guān)注博主 Mindtechnist 或加入【Linux C/C++/Python社區(qū)】一起探討和分享Linux C/C++/Python/Shell編程、機(jī)器人技術(shù)、機(jī)器學(xué)習(xí)、機(jī)器視覺、嵌入式AI相關(guān)領(lǐng)域的知識(shí)和技術(shù)。 專欄:《python從入門到實(shí)戰(zhàn)》 什么是模塊 一個(gè).py文件就是一個(gè)模塊,即Module。 模塊分為三種:python標(biāo)準(zhǔn)庫、

    2024年02月12日
    瀏覽(26)
  • 30 Python的matplotlib模塊

    30 Python的matplotlib模塊

    概述 ????????在上一節(jié),我們介紹了Python的pandas模塊,包括:Series、DataFrame、數(shù)據(jù)讀取和寫入等內(nèi)容。在這一節(jié),我們將介紹Python的matplotlib模塊。matplotlib模塊是一個(gè)Python的2D繪圖庫,可以實(shí)現(xiàn)各種類型的圖形繪制,包括:線圖、柱狀圖、餅圖、散點(diǎn)圖等。matplotlib支持各種

    2024年02月08日
    瀏覽(39)
  • 挑戰(zhàn)30天學(xué)完P(guān)ython:Day12 模塊

    ?? 本系列為Python基礎(chǔ)學(xué)習(xí),原稿來源于 30-Days-Of-Python 英文項(xiàng)目,大奇主要是對(duì)其本地化翻譯、逐條驗(yàn)證和補(bǔ)充,想通過30天完成正兒八經(jīng)的系統(tǒng)化實(shí)踐。此系列適合零基礎(chǔ)同學(xué),或僅了解Python一點(diǎn)知識(shí),但又沒有系統(tǒng)學(xué)習(xí)的使用者??傊绻阆胩嵘约旱腜ython技能,歡迎

    2023年04月27日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包