亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析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模塊可以通過(guò)使用import導(dǎo)入文件/函數(shù)來(lái)訪問(wèn)其他模塊的代碼。import語(yǔ)句是調(diào)用import機(jī)制的最常見方式,但它不是唯一的方式。

import語(yǔ)句涉及兩個(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)入的模塊。如果沒(méi)有找到它,那么它將搜索所有具有該名稱的內(nèi)置模塊,如果找到它,那么解釋器將運(yùn)行所有代碼并使其對(duì)文件可用。如果找不到模塊,它將在變量sys. path給出的目錄列表中搜索同名文件。path是一個(gè)變量,包含一個(gè)路徑列表,其中包含python庫(kù)、包和包含輸入腳本的目錄。

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

import math
print(math.pi)

import語(yǔ)句的語(yǔ)法

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

import gxg

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

from gxg import geek

geek可以是模塊、子包或?qū)ο?,例如類或函?shù)。

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

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

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

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

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

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

相關(guān)第三方庫(kù)

本地應(yīng)用程序/庫(kù)特定導(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)入。

語(yǔ)法和實(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)確地判斷出來(lái),只需查看語(yǔ)句即可。

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

缺點(diǎn):

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

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

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

相對(duì)導(dǎo)入指定從其當(dāng)前位置導(dǎo)入的對(duì)象或模塊,該位置是import語(yǔ)句駐留的位置。有兩種類型的相對(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)。

語(yǔ)法和實(shí)例:

相對(duì)導(dǎo)入的語(yǔ)法取決于當(dāng)前位置以及要導(dǎo)入的模塊或?qū)ο蟮奈恢?。相?duì)導(dǎo)入使用點(diǎn)(.)符號(hào)來(lái)指定位置。一個(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語(yǔ)句的復(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)文章

  • pandas計(jì)算相關(guān)系數(shù)corr返回空的問(wèn)題解決

    pandas計(jì)算相關(guān)系數(shù)corr返回空的問(wèn)題解決

    本文主要介紹了pandas計(jì)算相關(guān)系數(shù)corr返回空的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • python中協(xié)程實(shí)現(xiàn)TCP連接的實(shí)例分析

    python中協(xié)程實(shí)現(xiàn)TCP連接的實(shí)例分析

    在本篇文章中我們給大家分享了python中協(xié)程實(shí)現(xiàn)TCP連接的代碼示例內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2018-10-10
  • Python使用try except處理程序異常的三種常用方法分析

    Python使用try except處理程序異常的三種常用方法分析

    這篇文章主要介紹了Python使用try except處理程序異常的三種常用方法,結(jié)合實(shí)例形式分析了Python基于try except語(yǔ)句針對(duì)異常的捕獲、查看、回溯等相關(guān)操作技巧,需要的朋友可以參考下
    2018-09-09
  • 在Python中使用__slots__方法的詳細(xì)教程

    在Python中使用__slots__方法的詳細(xì)教程

    這篇文章主要介紹了在Python中使用__slots__方法的詳細(xì)教程,__slots__方法是Python的一個(gè)重要內(nèi)置類方法,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)

    Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)

    有朋友問(wèn)小編使用pyinstaller打包源碼時(shí),因?yàn)榇a中使用了圖像、音頻、視頻等資源文件,無(wú)法將程序打包成單一的可執(zhí)行文件,怎么處理呢,下面小編通過(guò)代碼給大家介紹Python如何將圖像音視頻等資源文件隱藏在代碼中,感興趣的朋友一起看看吧
    2020-02-02
  • Python Django請(qǐng)求和響應(yīng)對(duì)象詳解

    Python Django請(qǐng)求和響應(yīng)對(duì)象詳解

    這篇文章主要給大家介紹了關(guān)于django的請(qǐng)求和響應(yīng)對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • Python中關(guān)鍵字is與==的區(qū)別簡(jiǎn)述

    Python中關(guān)鍵字is與==的區(qū)別簡(jiǎn)述

    這篇文章主要介紹了Python中關(guān)鍵字is與==的區(qū)別,對(duì)于Python初學(xué)者有一定的借鑒學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2014-07-07
  • Python3+cgroupspy安裝使用簡(jiǎn)介

    Python3+cgroupspy安裝使用簡(jiǎn)介

    cgroups是Control groups的簡(jiǎn)稱,是Linux內(nèi)核提供的一種限制進(jìn)程使用和種系統(tǒng)資源的特性,這篇文章主要介紹了Python3+cgroupspy安裝使用教程,需要的朋友可以參考下
    2023-04-04
  • 關(guān)于Python作用域自學(xué)總結(jié)

    關(guān)于Python作用域自學(xué)總結(jié)

    在本文里我們給大家整理了關(guān)于python自學(xué)作用域的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們跟著學(xué)習(xí)下。
    2019-06-06
  • Python編寫Windows Service服務(wù)程序

    Python編寫Windows Service服務(wù)程序

    這篇文章主要為大家詳細(xì)介紹了Python編寫Windows Service服務(wù)程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論