床長(zhǎng)人工智能教程免費(fèi)擴(kuò)展234

朋友們,如需轉(zhuǎn)載請(qǐng)標(biāo)明出處:https://blog.csdn.net/jiangjunshow

聲明:在人工智能技術(shù)教學(xué)期間鲸伴,不少學(xué)生向我提一些python相關(guān)的問(wèn)題,所以為了讓同學(xué)們掌握更多擴(kuò)展知識(shí)更好地理解AI技術(shù)设易,我讓助理負(fù)責(zé)分享這套python系列教程巢墅,希望能幫到大家迁酸!由于這套python教程不是由我所寫(有時(shí)候有空也會(huì)參與編寫)讲冠,所以不如我的AI技術(shù)教學(xué)風(fēng)趣幽默瓜客,學(xué)起來(lái)比較枯燥;但它的知識(shí)點(diǎn)還是講到位的了竿开,也值得閱讀谱仪!想要學(xué)習(xí)AI技術(shù)的同學(xué)可以點(diǎn)擊跳轉(zhuǎn)到我的教學(xué)網(wǎng)站。PS:看不懂本篇文章的同學(xué)請(qǐng)先看前面的文章德迹,循序漸進(jìn)每天學(xué)一點(diǎn)就不會(huì)覺得難了芽卿!

為什么要使用包導(dǎo)入技術(shù)揭芍?

有同學(xué)不理解包導(dǎo)入存在的意義胳搞,覺得它是多此一舉~~

其實(shí),萬(wàn)事萬(wàn)物都有其存在的意義,有一句哲理名言叫做——存在即合理肌毅。

現(xiàn)在你覺得包導(dǎo)入是多此一舉筷转,是因?yàn)槟氵€沒(méi)有相應(yīng)的經(jīng)驗(yàn)。就像我年輕時(shí)覺得避孕套是多此一舉一樣悬而,只能說(shuō)當(dāng)時(shí)too young too simple(太年輕太簡(jiǎn)單了)呜舒。當(dāng)我有了相應(yīng)的生活經(jīng)驗(yàn)后,反而覺得這個(gè)世界很多東西都可以沒(méi)有笨奠,但是不能沒(méi)有套套袭蝗。如果沒(méi)有套套,當(dāng)你某天加完班想出去放飛一下自我后般婆,可能就染上了驳叫取;如果沒(méi)有套套蔚袍,你可能就會(huì)因?yàn)橐粋€(gè)不小心而想起那個(gè)經(jīng)典的廣告“不是我不小心乡范,只是真情難以抗拒,某某某醫(yī)院啤咽,無(wú)痛人流晋辆,留住你的產(chǎn)權(quán)”。

好了宇整,回到正題瓶佳,總之,包導(dǎo)入就像套套一樣没陡,在某些時(shí)候必須得用涩哟!下面我會(huì)使用實(shí)例來(lái)幫助大家深入滴理解它。

我先給大家一個(gè)問(wèn)題盼玄,看你在不使用包導(dǎo)入技術(shù)的前提下該如何解決它贴彼。

假設(shè)你們公司要開發(fā)一個(gè)大的系統(tǒng),它里面包含了3個(gè)子系統(tǒng)埃儿。第一個(gè)子系統(tǒng)中包含了一個(gè)文件utilities.py器仗,它包含了一些通用的工具代碼。這個(gè)子系統(tǒng)的代碼文件放在一個(gè)名為system1的文件夾里童番。

system1\
    utilities.py       # Common utility functions,classes
    main.py            # Launch this to start the program
    other.py           # Import utilities to load my tools

第二個(gè)子系統(tǒng)里面也有名為utilities.py的文件精钮,它們?cè)诿麨閟ystem2的文件夾里。

system2\
    utilities.py     # Common utilities
    main.py          # Launch this to run
    other.py         # Imports utilities

上面只是鋪墊剃斧,下面問(wèn)題來(lái)了轨香!

如何才能在第三個(gè)子系統(tǒng)中既調(diào)用第一個(gè)子系統(tǒng)的utilities.py代碼又調(diào)用第二個(gè)子系統(tǒng)的utilities.py代碼?

你的第一反應(yīng)想到的應(yīng)該是去設(shè)置模塊搜索路徑幼东,引入包含utilities.py文件的目錄臂容。但是科雳,要在路徑內(nèi)先放哪個(gè)目錄呢:system1還是system2?

搜索路徑本質(zhì)上是線性的脓杉。搜索總是從左至右掃描糟秘,所以不管這個(gè)問(wèn)題你想多久,也只能得到搜索路徑上最左側(cè)(最先列出)的目錄內(nèi)的utilities.py球散。也就是說(shuō)尿赚,永遠(yuǎn)無(wú)法導(dǎo)入另一個(gè)目錄的utilities.py文件。

上面的問(wèn)題正是包所能夠解決的蕉堰。不應(yīng)該像上面那樣在目錄內(nèi)把文件安裝成單純的文件列表凌净,而是應(yīng)該將它們進(jìn)行打包,也就是多加個(gè)init.py文件(看不懂的同學(xué)可以回歸一下我前面的文章《Python系列教程231——init.py》)屋讶。例如泻蚊,上面那個(gè)包含3個(gè)子系統(tǒng)的大系統(tǒng)的文件結(jié)構(gòu)就可以組織成下面的樣子。

root\

    system1\

        __init__.py

        utilities.py

        main.py

        other.py

    system2\

        __init__.py

        utilities.py

        main.py

        other.py

    system3\                # Here or elsewhere

        __init__.py         # Your new code here

        myfile.py

代碼文件被組織成包后丑婿,我們就可以在第三個(gè)子系統(tǒng)中通過(guò)下面的包導(dǎo)入技術(shù)來(lái)同時(shí)調(diào)用第一和第二個(gè)子系統(tǒng)中的utilities.py代碼性雄。如下所示。

import system1.utilities
import system2.utilities

system1.utilities.function('spam')
system2.utilities.function('eggs')

注意8睢秒旋!上面使用了import來(lái)導(dǎo)入,所以每次調(diào)用工具模塊utilities的代碼時(shí)诀拭,都會(huì)重復(fù)其完整的目錄路徑迁筛。這樣一來(lái),一級(jí)一級(jí)目錄的名稱讓模塊的調(diào)用變得具有唯一性耕挨。

記紫肝浴!筒占!如果需要讀取兩個(gè)或兩個(gè)以上路徑內(nèi)的同名屬性時(shí)贪庙,才需要使用import,在這種情況下不能用from(看不懂的同學(xué)回顧一下《Python系列教程233——包導(dǎo)入時(shí)使用import還是from》)翰苫。如果被調(diào)用的函數(shù)名稱在每個(gè)路徑內(nèi)都不同止邮,from語(yǔ)句就可以避免每次都重復(fù)完整路徑的麻煩!

這篇文章的信息量有點(diǎn)大奏窑,有些同學(xué)可能要回顧一下我前面的文章才能看懂导披。簡(jiǎn)而言之就一句話,存在即合理埃唯,包導(dǎo)入技術(shù)就像套套一樣撩匕,必須要有!它可以避免導(dǎo)入時(shí)的模糊性墨叛。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末止毕,一起剝皮案震驚了整個(gè)濱河市并村,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滓技,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棚潦,死亡現(xiàn)場(chǎng)離奇詭異令漂,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)丸边,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門叠必,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人妹窖,你說(shuō)我怎么就攤上這事纬朝。” “怎么了骄呼?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵共苛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蜓萄,道長(zhǎng)隅茎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任嫉沽,我火速辦了婚禮辟犀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绸硕。我一直安慰自己堂竟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布玻佩。 她就那樣靜靜地躺著出嘹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咬崔。 梳的紋絲不亂的頭發(fā)上疚漆,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天,我揣著相機(jī)與錄音刁赦,去河邊找鬼娶聘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛甚脉,可吹牛的內(nèi)容都是我干的丸升。 我是一名探鬼主播赠橙,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼空民,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锁施!你這毒婦竟也來(lái)了挑胸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤夷狰,失蹤者是張志新(化名)和其女友劉穎岭皂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沼头,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爷绘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了进倍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片土至。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖猾昆,靈堂內(nèi)的尸體忽然破棺而出陶因,到底是詐尸還是另有隱情,我是刑警寧澤垂蜗,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布楷扬,位于F島的核電站,受9級(jí)特大地震影響贴见,放射性物質(zhì)發(fā)生泄漏毅否。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一蝇刀、第九天 我趴在偏房一處隱蔽的房頂上張望螟加。 院中可真熱鬧,春花似錦吞琐、人聲如沸捆探。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)黍图。三九已至,卻和暖如春奴烙,著一層夾襖步出監(jiān)牢的瞬間助被,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工切诀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揩环,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓幅虑,卻偏偏與公主長(zhǎng)得像丰滑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子倒庵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容