千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python中from import和import的區(qū)別是什么?

Python中from import和import的區(qū)別是什么?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-15 08:05:29 1697328329

一、import語(yǔ)句

使用import語(yǔ)句可以導(dǎo)入整個(gè)模塊,然后通過模塊名來訪問其中的函數(shù)、類等對(duì)象。例如:

import math# 使用math模塊中的函數(shù)result = math.sqrt(25)

在這個(gè)例子中,我們使用import語(yǔ)句導(dǎo)入了math模塊,并通過math模塊名來調(diào)用其中的sqrt函數(shù)。

二、from import語(yǔ)句

使用from import語(yǔ)句可以選擇性地導(dǎo)入模塊中的特定對(duì)象,而不需要通過模塊名來訪問。例如:

from math import sqrt# 直接使用sqrt函數(shù),無(wú)需使用模塊名result = sqrt(25)

在這個(gè)例子中,我們使用from import語(yǔ)句從math模塊中導(dǎo)入了sqrt函數(shù),這樣我們可以直接使用函數(shù)名sqrt,而不需要在調(diào)用時(shí)加上模塊名。

三、區(qū)別

導(dǎo)入方式不同:import語(yǔ)句導(dǎo)入整個(gè)模塊,from import語(yǔ)句只導(dǎo)入模塊中的特定對(duì)象。訪問對(duì)象的方式不同:使用import語(yǔ)句導(dǎo)入模塊后,需要通過模塊名來訪問其中的對(duì)象;而使用from import語(yǔ)句導(dǎo)入特定對(duì)象后,可以直接使用對(duì)象名來訪問。命名沖突:當(dāng)導(dǎo)入多個(gè)模塊時(shí),使用import語(yǔ)句不會(huì)引起命名沖突,因?yàn)樾枰ㄟ^模塊名來訪問對(duì)象;但使用from import語(yǔ)句導(dǎo)入特定對(duì)象時(shí),如果兩個(gè)模塊中有相同名稱的對(duì)象,可能會(huì)引起命名沖突。推薦使用:通常情況下,推薦使用import語(yǔ)句導(dǎo)入整個(gè)模塊,這樣可以避免命名沖突,并且更清晰地表示代碼中使用了哪些模塊。

延伸閱讀

模塊導(dǎo)入的高級(jí)用法

除了簡(jiǎn)單的import和from import語(yǔ)句,Python還支持其他一些模塊導(dǎo)入的高級(jí)用法,例如:

1、使用as關(guān)鍵字給模塊或?qū)ο笃饎e名,以簡(jiǎn)化訪問。

import math as mresult = m.sqrt(25)

2、使用通配符*導(dǎo)入模塊中的所有對(duì)象。但這種方式不推薦使用,因?yàn)槿菀滓鹈麤_突,且不清晰。

from math import *result = sqrt(25)

3、導(dǎo)入模塊時(shí)執(zhí)行其中的特定代碼塊,可以在模塊中使用__name__屬性來判斷是否是被導(dǎo)入的模塊。

# mymodule.pydef func():    print("This is a function.")if __name__ == "__main__":    func()# main.pyimport mymodule# 上面的代碼不會(huì)執(zhí)行mymodule中的func函數(shù),因?yàn)樗潜粚?dǎo)入的模塊
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是cdn服務(wù)器?

一、CDN服務(wù)器的工作原理CDN服務(wù)器的工作原理基于一種技術(shù),被稱為緩存。當(dāng)用戶請(qǐng)求一個(gè)文件(例如網(wǎng)頁(yè)、圖像或視頻)時(shí),CDN服務(wù)器會(huì)檢查它的...詳情>>

2023-10-15 09:47:29
JSR133是什么?

一、JSR133的基本概念在JSR133之前,Java內(nèi)存模型有一些模糊的地方,這使得程序員在編寫并發(fā)程序時(shí)會(huì)遇到各種問題。JSR133通過引入一些新的概念...詳情>>

2023-10-15 09:40:19
什么是機(jī)架式服務(wù)器?

一、機(jī)架式服務(wù)器的構(gòu)成機(jī)架式服務(wù)器通常由主機(jī)機(jī)架、內(nèi)部組件、電源和冷卻系統(tǒng)構(gòu)成。主機(jī)機(jī)架是服務(wù)器的外殼,采用標(biāo)準(zhǔn)的19英寸機(jī)架尺寸,便于...詳情>>

2023-10-15 09:16:22
為什么 VC 不允許 x64 內(nèi)聯(lián)匯編?

一、代碼的移植性內(nèi)聯(lián)匯編使得代碼與特定的硬件平臺(tái)緊密地耦合在一起,這限制了代碼的可移植性。隨著計(jì)算設(shè)備種類的不斷增多,編程語(yǔ)言和開發(fā)工...詳情>>

2023-10-15 08:58:02
Linux中fcntl()、lockf、flock的區(qū)別是什么?

一、fcntl()fcntl()是一個(gè)用于對(duì)文件進(jìn)行各種操作的系統(tǒng)調(diào)用,其中包括文件鎖定。使用fcntl()函數(shù)可以實(shí)現(xiàn)更靈活和精細(xì)的文件鎖定操作。它支持...詳情>>

2023-10-15 08:29:43