最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析python中的絕對(duì)導(dǎo)入和相對(duì)導(dǎo)入

 更新時(shí)間:2023年09月04日 10:44:38   作者:python收藏家  
這篇文章主要是想和大家簡(jiǎn)單聊聊python中絕對(duì)導(dǎo)入和相對(duì)導(dǎo)入的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考下

在本文中,我們將看到Python中的絕對(duì)和相對(duì)導(dǎo)入。

Python中導(dǎo)入的工作

Python中的import類似于C/C++中的#include header_file。Python模塊可以通過使用import導(dǎo)入文件/函數(shù)來訪問其他模塊的代碼。import語句是調(diào)用import機(jī)制的最常見方式,但它不是唯一的方式。

import語句涉及兩個(gè)操作,它搜索模塊,并將搜索結(jié)果綁定到本地作用域中的名稱。當(dāng)導(dǎo)入模塊時(shí),Python會(huì)運(yùn)行模塊文件中的所有代碼,并使其可用于導(dǎo)入器文件。當(dāng)一個(gè)模塊被導(dǎo)入時(shí),解釋器首先在sys.modules中搜索它,sys. modules是所有先前導(dǎo)入的模塊。如果沒有找到它,那么它將搜索所有具有該名稱的內(nèi)置模塊,如果找到它,那么解釋器將運(yùn)行所有代碼并使其對(duì)文件可用。如果找不到模塊,它將在變量sys. path給出的目錄列表中搜索同名文件。path是一個(gè)變量,包含一個(gè)路徑列表,其中包含python庫、包和包含輸入腳本的目錄。

例如,導(dǎo)入一個(gè)名為math的模塊,然后解釋器在內(nèi)置模塊中搜索它,如果沒有找到,則在sys. path給出的目錄列表中搜索名為math.py的文件。

import math
print(math.pi)

import語句的語法

用戶可以導(dǎo)入包和模塊。注意導(dǎo)入一個(gè)包實(shí)際上是將包的__init__.py文件作為一個(gè)模塊導(dǎo)入。用戶還可以從包或模塊導(dǎo)入特定對(duì)象。通常有兩種類型的導(dǎo)入語法。當(dāng)您使用第一個(gè)時(shí),您直接導(dǎo)入資源。

import gxg

gxg可以是封裝或模塊。當(dāng)用戶使用第二種語法時(shí),則用戶從另一個(gè)包或模塊導(dǎo)入資源。

from gxg import geek

geek可以是模塊、子包或?qū)ο螅珙惢蚝瘮?shù)。

導(dǎo)入語句的樣式

PEP 8是python的官方風(fēng)格指南,它有一套規(guī)則來指導(dǎo)如何制定python代碼以最大限度地提高其可讀性。對(duì)于編寫import語句,有以下幾點(diǎn):

1.導(dǎo)入應(yīng)該總是寫在文件的頂部,就在任何模塊注釋和文檔字符串之后。

2.導(dǎo)入通常應(yīng)該用空格分隔。

3.導(dǎo)入應(yīng)按以下順序分組。

標(biāo)準(zhǔn)庫導(dǎo)入(Python的內(nèi)置模塊)

相關(guān)第三方庫

本地應(yīng)用程序/庫特定導(dǎo)入

import math
import os
# Third party imports
from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
# Local application imports
from local_module import local_class
from local_package import local_function

Python中的絕對(duì)導(dǎo)入vs相對(duì)導(dǎo)入

絕對(duì)導(dǎo)入涉及完整路徑,即,從項(xiàng)目的根文件夾復(fù)制到所需的模塊。絕對(duì)導(dǎo)入狀態(tài),即資源將使用其完整路徑從項(xiàng)目的根文件夾導(dǎo)入。

語法和實(shí)例:

讓我們看看下面的目錄結(jié)構(gòu):

這里有一個(gè)名為project的目錄,下面有兩個(gè)子目錄,即pkg1、pkg2。pkg1有兩個(gè)模塊,module1和module2。pkg2包含三個(gè)模塊,module3、module4、init.py,以及一個(gè)子包名subpkg1,其中包含module5.py。讓我們假設(shè)以下情況:

  • pkg 1/module1.py包含一個(gè)函數(shù)fun 1
  • pkg 2/module3.py包含一個(gè)函數(shù)fun 2
  • pkg 2/subpkg 1/module5.py包含一個(gè)函數(shù)fun 3
# importing a fun1 from pkg1/module1
from pkg1.import module1 import fun1
from pkg1 import module2
# importing a fun2 from pkg2/module3
from pkg2 import module3 import fun2
# importing a fun3 from pkg2/subpkg1/module5
from pkg2.subpkg1.module5 import fun3

絕對(duì)導(dǎo)入的優(yōu)點(diǎn)和缺點(diǎn)

優(yōu)點(diǎn):

絕對(duì)導(dǎo)入非常有用,因?yàn)樗鼈兪敲鞔_和直接的。

絕對(duì)導(dǎo)入很容易從導(dǎo)入的資源的位置準(zhǔn)確地判斷出來,只需查看語句即可。

即使import語句的當(dāng)前位置發(fā)生更改,絕對(duì)導(dǎo)入仍保持有效。

缺點(diǎn):

如果目錄結(jié)構(gòu)非常大,則使用絕對(duì)導(dǎo)入沒有意義。在這種情況下,使用相對(duì)導(dǎo)入效果很好。

from pkg1.subpkg2.subpkg3.subpkg4.module5 import fun6

Python中的相對(duì)導(dǎo)入

相對(duì)導(dǎo)入指定從其當(dāng)前位置導(dǎo)入的對(duì)象或模塊,該位置是import語句駐留的位置。有兩種類型的相對(duì)導(dǎo)入:

隱式相對(duì)導(dǎo)入-Python(3.x)中不允許隱式相對(duì)導(dǎo)入。

顯式相對(duì)導(dǎo)入-顯式相對(duì)導(dǎo)入已經(jīng)在Python(3.x)中獲得批準(zhǔn)。

語法和實(shí)例:

相對(duì)導(dǎo)入的語法取決于當(dāng)前位置以及要導(dǎo)入的模塊或?qū)ο蟮奈恢?。相?duì)導(dǎo)入使用點(diǎn)(.)符號(hào)來指定位置。一個(gè)點(diǎn)表示模塊在當(dāng)前目錄中,兩個(gè)點(diǎn)表示模塊在當(dāng)前位置的父目錄中,三個(gè)點(diǎn)表示模塊在祖目錄中,依此類推。讓我們看看下面的目錄結(jié)構(gòu):

讓我們假設(shè)以下情況:

  • pkg 1/module1.py包含一個(gè)函數(shù)fun 1
  • pkg 2/module3.py包含一個(gè)函數(shù)fun 2
  • pkg 2/subpkg 1/module5.py包含一個(gè)函數(shù)fun 3
# importing fun1 into pkg1/module1.py
from .module1 import fun1
# importing fun2 and fun3 into pkg2/module3.py
from .module3 import fun2
from .subpackage1.module5 import fun3

相對(duì)導(dǎo)入的優(yōu)點(diǎn)和缺點(diǎn)

優(yōu)點(diǎn):

使用相對(duì)導(dǎo)入簡(jiǎn)潔明了。

基于當(dāng)前位置,它降低了import語句的復(fù)雜性。

缺點(diǎn):

相對(duì)導(dǎo)入不像絕對(duì)導(dǎo)入那樣易讀。

使用相對(duì)導(dǎo)入并不容易,因?yàn)楹茈y告訴模塊的位置。

以上就是淺析python中的絕對(duì)導(dǎo)入和相對(duì)導(dǎo)入的詳細(xì)內(nèi)容,更多關(guān)于python導(dǎo)入的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python連接MySQL、PostgreSQL數(shù)據(jù)庫實(shí)現(xiàn)過程

    Python連接MySQL、PostgreSQL數(shù)據(jù)庫實(shí)現(xiàn)過程

    文章介紹了如何在Python中使用`pymysql`和`psycopg2`模塊連接MySQL和PostgreSQL數(shù)據(jù)庫,包括安裝庫、連接參數(shù)、數(shù)據(jù)庫操作和關(guān)閉連接的步驟
    2025-12-12
  • Python常見庫matplotlib學(xué)習(xí)筆記之畫圖文字的中文顯示

    Python常見庫matplotlib學(xué)習(xí)筆記之畫圖文字的中文顯示

    在Python中使用matplotlib或者plotnine模塊繪圖時(shí),常常出現(xiàn)圖表中無法正常顯示中文的問題,下面這篇文章主要給大家介紹了關(guān)于Python常見庫matplotlib學(xué)習(xí)筆記之畫圖文字的中文顯示的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Python讀取多個(gè)TXT文件并提取指定列寫入Excel

    Python讀取多個(gè)TXT文件并提取指定列寫入Excel

    這篇文章主要介紹了如何使用Python的pandas和openpyxl庫批量讀取指定文件夾下的TXT文件,提取指定列的數(shù)據(jù),并將結(jié)果寫入Excel文件,支持按文件分Sheet或合并到單個(gè)Sheet,需要的朋友可以參考下
    2026-01-01
  • python?logging模塊詳解及其日志定時(shí)清理方式

    python?logging模塊詳解及其日志定時(shí)清理方式

    這篇文章主要介紹了python?logging模塊詳解及其日志定時(shí)清理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Python操作使用MySQL數(shù)據(jù)庫的實(shí)例代碼

    Python操作使用MySQL數(shù)據(jù)庫的實(shí)例代碼

    本篇文章主要介紹了Python 操作 MySQL的實(shí)例代碼,詳細(xì)介紹了Python如何連接數(shù)據(jù)庫和對(duì)數(shù)據(jù)的增刪查改,有興趣的可以了解一下
    2017-05-05
  • Python?Ruby?等語言棄用自增運(yùn)算符原因剖析

    Python?Ruby?等語言棄用自增運(yùn)算符原因剖析

    這篇文章主要為大家介紹了Python?Ruby?等語言棄用自增運(yùn)算符原因剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 使用python裝飾器驗(yàn)證配置文件示例

    使用python裝飾器驗(yàn)證配置文件示例

    項(xiàng)目中用到了一個(gè)WriteData的函數(shù)保存用戶填寫的配置,為了實(shí)現(xiàn)驗(yàn)證用戶輸入的需求,在不影響接口的使用的前提下,采用了python的裝飾器實(shí)現(xiàn),代碼片段演示了如何驗(yàn)證WriteData函數(shù)的輸入?yún)?shù)
    2014-02-02
  • Python搭建代理IP池實(shí)現(xiàn)檢測(cè)IP的方法

    Python搭建代理IP池實(shí)現(xiàn)檢測(cè)IP的方法

    這篇文章主要介紹了Python搭建代理IP池實(shí)現(xiàn)檢測(cè)IP的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • opencv改變imshow窗口大小,窗口位置的方法

    opencv改變imshow窗口大小,窗口位置的方法

    下面小編就為大家分享一篇opencv改變imshow窗口大小,窗口位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python使用Numpy模塊讀取文件并繪制圖片

    Python使用Numpy模塊讀取文件并繪制圖片

    這篇文章主要介紹了Python使用Numpy模塊讀取文件并繪制圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

贞丰县| 大关县| 岳池县| 栖霞市| 晋中市| 惠来县| 玉田县| 三都| 崇仁县| 白城市| 遂溪县| 皋兰县| 清镇市| 枞阳县| 常宁市| 波密县| 新绛县| 界首市| 桓台县| 寻甸| 天水市| 景东| 新巴尔虎右旗| 临沂市| 昌图县| 托里县| 西城区| 高碑店市| 巨鹿县| 从江县| 临西县| 阿拉善右旗| 绿春县| 南川市| 乌拉特中旗| 罗城| 远安县| 镶黄旗| 天峨县| 泊头市| 平舆县|