欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中from import的使用解讀

 更新時(shí)間:2025年03月04日 10:04:13   作者:_DCG_  
本文總結(jié)了Python中from和import的使用方法,包括導(dǎo)入模塊和導(dǎo)入模塊中的對(duì)象,強(qiáng)調(diào)了模塊和對(duì)象的概念,并給出了具體的使用示例,最后,建議根據(jù)代碼維護(hù)性和團(tuán)隊(duì)編碼風(fēng)格來(lái)選擇合適的導(dǎo)入方式

python中from import的使用

無(wú)論是使用python還是c/c++開(kāi)發(fā)代碼時(shí),不可避免的要使用到標(biāo)準(zhǔn)庫(kù)或者第三方庫(kù),這個(gè)時(shí)候就需要在我們的py文件中調(diào)用庫(kù),而在python中一般是通過(guò)from和import的組合來(lái)實(shí)現(xiàn)加載第三方庫(kù)包中的模塊或者對(duì)象。

首先把自己對(duì)from和import的使用總結(jié)列出,后面再一一進(jìn)行列舉。

先強(qiáng)調(diào)兩個(gè)概念

  • 模塊,一般而言就是一個(gè)獨(dú)立的py文件,一個(gè)模塊就是一個(gè)py文件,該模塊中可以定義類、方法、變量、常量、函數(shù)等。
  • 對(duì)象,在python一切皆對(duì)象,字符串,數(shù)字、元組、字典、函數(shù)、類、方法、模塊等都可以稱為對(duì)象,在本文中對(duì)象特指函數(shù)、變量、方法等(不指向模塊)。

對(duì)上面的兩個(gè)概念有了深入的認(rèn)識(shí),下面把原則列出。

  • import是導(dǎo)入的含義,在python中通過(guò)這個(gè)關(guān)鍵字可以導(dǎo)入模塊,也可以導(dǎo)入模塊中的對(duì)象(一般指函數(shù)、方法、類、變量等),但是需要注意的是import不能導(dǎo)入包。
  • from關(guān)鍵字可以修飾模塊名稱,也可以修改包的名稱,修飾模塊名稱,則import導(dǎo)入的是對(duì)象名稱;from關(guān)鍵字修飾包名稱,后接的import修飾的是模塊名稱。

使用方法如下

import module_name
from package_name import module_name
from module_name import object_name1 object_name2 ...
from package_name.module_name import object_name1 object_name2 ...

導(dǎo)入模塊的示例

import re
import sys

上面的語(yǔ)句就是導(dǎo)入re模塊和sys模塊。通過(guò)這種方式可以導(dǎo)入所有在搜索路徑(sys.path)中的模塊。

上面的用法很常用,也是我們經(jīng)常使用的。

下面介紹第二種,即加載一個(gè)模塊下的一個(gè)或者多個(gè)對(duì)象,示例如下:

from module_name import object_name1 ojbecct_name2

上面的介紹中module_name特指模塊名稱,而object_name1、object_name2一般指模塊中的變量、函數(shù)、方法、類等。

即我們可以通過(guò)from+import的方式記載一個(gè)模塊的中指定的函數(shù)、方法或者變量。

  • 這樣做的好處是可以減少內(nèi)存使用,只加載一個(gè)對(duì)象與加載模塊中所有對(duì)象,對(duì)內(nèi)存的消耗還是不一樣的;
  • 劣勢(shì)是如果調(diào)用模塊僅使用被調(diào)用模塊一個(gè)對(duì)象或者很少的幾個(gè)對(duì)象,則此種方法可行,但是如果調(diào)用模塊使用了很多的被調(diào)用模塊的下對(duì)象,此種使用方法就不太友好,因?yàn)橐槍?duì)每個(gè)對(duì)象添加一句上文中的語(yǔ)句。

具體如何使用請(qǐng)根據(jù)實(shí)際情況進(jìn)行分析。

一個(gè)具體的例子

from re import search

search(xxxx,xxx)
#如果不使用此種方式,那么必須按照如下方式使用
import re

re.search(xxxx, xxx)

通過(guò)上面具體的例子,可以看出區(qū)別了吧。

如果通過(guò)import導(dǎo)入了對(duì)象,那么在代碼中使用該對(duì)象時(shí)可以直接使用對(duì)象名稱,而無(wú)需使用模塊前綴,即search;如果僅導(dǎo)入了模塊,那么在使用時(shí)一定要加入前綴,即re.search。

總結(jié)

無(wú)論是使用import還是from import,第一個(gè)要求是代碼能夠正常運(yùn)行,其次,根據(jù)代碼維護(hù)性,團(tuán)隊(duì)編碼風(fēng)格來(lái)確定選擇哪一種方案。

如果我們只會(huì)使用到某個(gè)模塊下面的一個(gè)函數(shù)(或者常量、類)并且名字不會(huì)產(chǎn)生混淆,可識(shí)別性高,那么from 模塊名 import 函數(shù)名這沒(méi)有什么問(wèn)題。

如果我們會(huì)用到一個(gè)模塊下面的多個(gè)函數(shù),或者是我們將要使用的函數(shù)名、常量名、類名可能會(huì)讓人產(chǎn)生混淆(例如 re.S、re.I),那么這種情況下,import 模塊名然后再 模塊名.xxx來(lái)調(diào)用會(huì)讓代碼更加清晰,更好維護(hù)。

但無(wú)論什么情況下,都禁止使用from xxx import *這種寫(xiě)法,它會(huì)給你帶來(lái)無(wú)窮無(wú)盡的噩夢(mèng)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用openCV遍歷文件夾里所有視頻文件并保存成圖片

    python使用openCV遍歷文件夾里所有視頻文件并保存成圖片

    這篇文章主要介紹了python使用openCV遍歷文件夾里所有視頻文件并保存成圖片,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-01-01
  • Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法

    Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法

    爬蟲(chóng)獲取信息,很多時(shí)候是需要從網(wǎng)頁(yè)源碼中獲取鏈接信息的,下面這篇文章主要給大家介紹了關(guān)于Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 使用Django啟動(dòng)命令行及執(zhí)行腳本的方法

    使用Django啟動(dòng)命令行及執(zhí)行腳本的方法

    今天小編就為大家分享一篇使用Django啟動(dòng)命令行及執(zhí)行腳本的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 基于Python3讀寫(xiě)INI配置文件過(guò)程解析

    基于Python3讀寫(xiě)INI配置文件過(guò)程解析

    這篇文章主要介紹了基于Python3讀寫(xiě)INI配置文件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • python的print輸出在控制臺(tái)并且將輸出內(nèi)容保存為文件(最新推薦)

    python的print輸出在控制臺(tái)并且將輸出內(nèi)容保存為文件(最新推薦)

    這篇文章主要介紹了python的print輸出在控制臺(tái)并且將輸出內(nèi)容保存為文件,我感覺(jué)就是類似于重寫(xiě)一下調(diào)用print的時(shí)候執(zhí)行的方法,讓他既能夠在控制臺(tái)輸出,也能保存到文件里去,需要的朋友可以參考下
    2023-01-01
  • Python實(shí)現(xiàn)在Word中創(chuàng)建,讀取和刪除列表詳解

    Python實(shí)現(xiàn)在Word中創(chuàng)建,讀取和刪除列表詳解

    在Word中,列表是一種用于組織和呈現(xiàn)信息的有效工具,這篇文章將探討一下如何使用Python在Word文檔中創(chuàng)建,讀取和刪除列表,需要的可以了解下
    2025-03-03
  • Python數(shù)據(jù)處理利器Pandas?DataFrame常用操作

    Python數(shù)據(jù)處理利器Pandas?DataFrame常用操作

    這篇文章主要為大家介紹了Python數(shù)據(jù)處理利器Pandas?DataFrame,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)解讀

    pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)解讀

    這篇文章主要介紹了pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python字符串格式化(%格式符和format方式)

    python字符串格式化(%格式符和format方式)

    在編寫(xiě)程序的過(guò)程中,經(jīng)常需要進(jìn)行格式化輸出,每次用每次查,干脆就在這里整理一下,下面這篇文章主要給大家介紹了關(guān)于python字符串格式化的相關(guān)資料,分別是%格式符和format方式,需要的朋友可以參考下
    2022-02-02
  • 使用python制作九九乘法表的四種方法小結(jié)

    使用python制作九九乘法表的四種方法小結(jié)

    九九乘法表是初學(xué)者學(xué)習(xí)編程的必要練手題目之一,因此各種語(yǔ)言都有對(duì)應(yīng)的實(shí)現(xiàn)方式,而 Python 也不例外,在 Python 中,我們可以使用多種方式來(lái)生成一個(gè)簡(jiǎn)單的九九乘法表,本文給大家總結(jié)了使用python制作九九乘法表的四種方法,需要的朋友可以參考下
    2024-03-03

最新評(píng)論