注意import和from import 的區(qū)別及說(shuō)明
python中import和from import的區(qū)別
首先明確
盡量不要為了圖省事使用from xxx import *
python中有兩種導(dǎo)入模塊的方式,一種是import xxx,另一種是from xxx import yyy,兩者的區(qū)別在于,第一種僅僅導(dǎo)入一個(gè)模塊,并且將該模塊執(zhí)行了一遍,if __main__ =="__main__"里面的沒有執(zhí)行。
同時(shí),有在當(dāng)前的命名空間中導(dǎo)入變量,需要通過(guò)xxx.yyy的方式使用導(dǎo)入模塊中的變量、函數(shù)、類等;
第二種則將模塊中的變量yyy導(dǎo)入了當(dāng)前命名空間,因此使用時(shí)可以直接以yyy調(diào)用,使用這種導(dǎo)入方法時(shí),需要注意當(dāng)前的命名空間是否有重名的,from xxx import *這種方式盡量不要使用,因?yàn)檫@樣就破壞了對(duì)命名空間的管理。
ps:使用from xxx import *時(shí)是不能導(dǎo)入以單下劃線開頭的保護(hù)屬性和以雙下劃線開頭的私有屬性的
python中from…import…用法
在python中經(jīng)常我們使用到from…import…這個(gè)句型,而這個(gè)句型后面跟著都是什么意思呢,今天我對(duì)其進(jìn)行相應(yīng)的總結(jié),以便大家和我都能一起進(jìn)行學(xué)習(xí)。
首先看一個(gè)例子進(jìn)行相應(yīng)的分析:
1.直接調(diào)用函數(shù)
? ?#函數(shù)文件,函數(shù)文件命名為wangke ? ? def add(a,b): ? ? ? ? return a+b ? ? def sub(a,b): ? ? ? ? return a-b ? ?? ? ? #主函數(shù)有兩種寫法 ? ? #第一種寫法 ? ? from wangke import add ? ? from wangke import sub ? ? a=add(1,2) ? ? b=sub(1,3) ? ?? ? ? #第二種寫法 ? ? import wangke ? ? c=wangke.add(1,2) ? ? d=wangke.sub(1,3)
2. 調(diào)用類中的函數(shù)
#類文件,類文件名未wangke1 class aaa: ? ? a=1 ? ?#對(duì)象的屬性 ? ? b=2 ? ?#對(duì)象的屬性 ? ? def __init__(self,name): ? ? ? ? self.name=name ? ?#對(duì)象的屬性 ? ? ? ? name1=1 ? ?#函數(shù)的屬性 ? ? def add(self,a,b): ? ? ?? ?self.a=a ? ? ?? ?self.b=b ? ? ? ? dd=2 ? ?#函數(shù)的屬性 ? ? ? ? return self.a+self.b+dd ? ? def sub(self,a,b): ? ? ? ? self.a=a ? ? ?? ?self.b=b ? ? ? ? return self.a-self.b #主函數(shù)文件 #第一種寫法 from wangke1 import aaa aa=aaa('lihaha') print(aa.name) #第二種寫法 import wangke1 aa=wangke1.aaa('lihaha') print(aa.name)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn)
這篇文章主要介紹了python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09利用Python實(shí)現(xiàn)端口掃描器的全過(guò)程
這篇文章主要給大家介紹了關(guān)于如何利用Python實(shí)現(xiàn)端口掃描器的相關(guān)資料,用來(lái)檢測(cè)目標(biāo)服務(wù)器上有哪些端口開放,本文適用于有 Python和計(jì)算機(jī)網(wǎng)絡(luò)語(yǔ)言基礎(chǔ)的用戶,需要的朋友可以參考下2021-08-08matplotlib自定義鼠標(biāo)光標(biāo)坐標(biāo)格式的實(shí)現(xiàn)
這篇文章主要介紹了matplotlib自定義鼠標(biāo)光標(biāo)坐標(biāo)格式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python數(shù)據(jù)分析基礎(chǔ)之異常值檢測(cè)和處理方式
這篇文章主要介紹了Python數(shù)據(jù)分析基礎(chǔ)之異常值檢測(cè)和處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python實(shí)現(xiàn)多任務(wù)版的udp聊天器
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)多任務(wù)版的udp聊天器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07pytorch如何定義新的自動(dòng)求導(dǎo)函數(shù)
這篇文章主要介紹了pytorch如何定義新的自動(dòng)求導(dǎo)函數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。2022-12-12