不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇python類(lèi)的學(xué)習(xí),就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來(lái)告訴你這個(gè)專(zhuān)業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:一些Python的學(xué)習(xí)心得,關(guān)于Python的3個(gè)謊言,別再盲目學(xué)Python了(含視頻及書(shū)籍資源),學(xué)習(xí)Python對(duì)辦公真的有用嗎?用經(jīng)驗(yàn)告訴你答案??。
1.一些Python的學(xué)習(xí)心得
寫(xiě)在前面如果時(shí)光可以倒流,讓筆者重新選擇*專(zhuān)業(yè),那么筆者一定毫不猶豫地選擇人工智能方面的相關(guān)專(zhuān)業(yè)。人工智能已經(jīng)成為互聯(lián)網(wǎng)時(shí)代最熱門(mén)、最前沿的發(fā)展方向,人工智能的基礎(chǔ)知識(shí)也已經(jīng)加入到高中的學(xué)習(xí)大綱內(nèi)。在人工智能高速發(fā)展的時(shí)代,不管是否從事人工智能研發(fā)方面的工作,了解和掌握一門(mén)編程語(yǔ)言都是非常必要的。筆者選擇了Python進(jìn)行了學(xué)習(xí)。本文的主要目的在于分享筆者的學(xué)習(xí)路徑,以及總結(jié)一些筆者在自學(xué)過(guò)程中碰到的坑。Why Python編程語(yǔ)言這么多,為何選Python?這個(gè)問(wèn)題網(wǎng)上已經(jīng)有很多相當(dāng)專(zhuān)業(yè)的回答了。筆者作為初學(xué)者,最深的體會(huì)即簡(jiǎn)潔。print('Hello World')短短一行代碼即可以寫(xiě)出你的*個(gè)程序。另外,Python有內(nèi)容豐富且功能強(qiáng)大的各類(lèi)庫(kù)可以直接調(diào)用。例如數(shù)據(jù)分析領(lǐng)域常用的Numpy、Pandas、Scipy、等。學(xué)習(xí)Python可以很快上手,調(diào)用各類(lèi)十分成熟的庫(kù)來(lái)解決各領(lǐng)域的相關(guān)問(wèn)題。搭建環(huán)境在開(kāi)始寫(xiě)*行代碼之前,其實(shí)還有一些工作要準(zhǔn)備。Python分文2和3兩個(gè)版本,其語(yǔ)法有一部分區(qū)別,而且互相無(wú)法兼容。Python3系列目前已經(jīng)發(fā)展的較為成熟,且有相當(dāng)一部分庫(kù)只支持Python3。因此筆者選擇了Python3.6。Python作為一門(mén)編程語(yǔ)言,還需要一個(gè)運(yùn)行環(huán)境。在此筆者推薦Anaconda搭配Jupyter Notebook。關(guān)于兩者具體的作用和安裝方法,推薦閱讀 @猴子 老師的回答:初學(xué)python者自學(xué)anaconda的正確姿勢(shì)是什么??jupyter notebook 可以做哪些事情?如何自學(xué)環(huán)境已經(jīng)搭好了,接下來(lái)可以寫(xiě)出*行代碼了~那么如何保持高效地自學(xué)狀態(tài)呢?筆者認(rèn)為Python的學(xué)習(xí)絕不是捧著一本教程拼命死磕就可以學(xué)會(huì)的。零基礎(chǔ)入門(mén)*的辦法就是邊學(xué)邊用,即可以加深記憶又可以調(diào)動(dòng)興趣。筆者在自學(xué)過(guò)程中使用過(guò)三種類(lèi)型的學(xué)習(xí)資源:1、入門(mén)教程:入門(mén)教程即邊學(xué)邊用,深入淺出地了解Python。筆者學(xué)習(xí)了 @Crossin 的crossin編程教室。它的每一節(jié)課后都會(huì)附上練習(xí),并且還有各種有趣的編程小游戲以供實(shí)踐。另外還會(huì)定期開(kāi)一些坑,提供各類(lèi)有趣的需求供學(xué)員開(kāi)發(fā)。Crossin的編程教室2、字典式教程:在寫(xiě)代碼的過(guò)程中,經(jīng)常會(huì)忘記一些細(xì)節(jié)問(wèn)題。比如如何提取列表中的某元素。這時(shí)就需要一個(gè)百科全書(shū)式的教程以供查閱。這里推薦菜鳥(niǎo)教程:Python3 教程 | 菜鳥(niǎo)教程3、編程游戲:有沒(méi)有什么辦法既可以練習(xí)代碼又很輕松愉快呢?這里推薦一個(gè)闖關(guān)編程游戲。在這里你可以利用代碼操控人物闖關(guān)冒險(xiǎn),迎娶白富美,走向人生巔峰: : 值(value)對(duì)的集合??梢允褂么罄ㄌ?hào){}或者dict()函數(shù)創(chuàng)建字典。上述數(shù)據(jù)類(lèi)型可以分為以下兩類(lèi):不可變數(shù)據(jù):數(shù)字、字符串、元組可變數(shù)據(jù):列表、集合、字典可以使用type()和()來(lái)查詢數(shù)據(jù)類(lèi)型。type返回類(lèi)型名稱(chēng),返回布爾值。條件判斷Python中的條件判斷語(yǔ)句是if…else…語(yǔ)句:if 條件: 執(zhí)行操作1 else: 執(zhí)行操作2舉例如下:在使用if…else…語(yǔ)句時(shí)一定記得在每一個(gè)if條件和else后面都加上英文冒號(hào),且同一層的語(yǔ)句保持相同的縮進(jìn)(建議4個(gè)空格)。上述2點(diǎn)都是容易引起報(bào)錯(cuò)的地方。循環(huán)循環(huán)語(yǔ)句提供了一種自動(dòng)化的、完成重復(fù)勞動(dòng)的便捷方法。其基本語(yǔ)句是for…in…,其中for指定要重復(fù)的變量,in指定循環(huán)范圍。下面舉一個(gè)案例。筆者希望將下圖中的股票代碼全部統(tǒng)一變成大寫(xiě)字母:首先對(duì)鍵和值的數(shù)組設(shè)置了循環(huán),并使用dict.item()方法,將原字典轉(zhuǎn)化為鍵和值的元組數(shù)組。然后在循環(huán)語(yǔ)句內(nèi)規(guī)定了新值的方法,即upper(),再通過(guò)key索引將新值更新到字典中,完成目的。上述操作中的關(guān)鍵之處即在于item()方法。因?yàn)閒or后面跟的循環(huán)變量是key,value,屬于數(shù)組的形式,無(wú)法直接在字典中進(jìn)行遍歷,因此需要先將其轉(zhuǎn)換為數(shù)組的形式。函數(shù)函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。在實(shí)際編程的過(guò)程中,可以通過(guò)將常用運(yùn)算編寫(xiě)為函數(shù)使代碼更加簡(jiǎn)潔,可讀性更高。定義一個(gè)函數(shù)的規(guī)則:函數(shù)代碼塊以 def 關(guān)鍵詞開(kāi)頭,后接函數(shù)標(biāo)識(shí)符名稱(chēng)和圓括號(hào)()。任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間。圓括號(hào)之間可以用于定義參數(shù)。函數(shù)內(nèi)容以冒號(hào)起始,并且縮進(jìn)。return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None。函數(shù)的基本語(yǔ)法如下:def ( ): "函數(shù)_文檔字符串" function_suite return []使用函數(shù)的過(guò)程中涉及到以下兩個(gè)問(wèn)題,容易踩坑:參數(shù)類(lèi)型是否可變作用域上文中提到,數(shù)字、字符串、元組為不可變數(shù)據(jù)類(lèi)型,列表、集合、字典為可變數(shù)據(jù)類(lèi)型。不可變數(shù)據(jù)類(lèi)型的參數(shù)在調(diào)用函數(shù)的過(guò)程中傳遞的只是該數(shù)據(jù)類(lèi)型的值(相當(dāng)于復(fù)制一份),自身不會(huì)發(fā)生變化;而可變數(shù)據(jù)類(lèi)型的參數(shù)傳遞的是該變量的引用地址,調(diào)用函數(shù)后會(huì)改變。舉例如下:b是數(shù)值類(lèi)型參數(shù),調(diào)用函數(shù)后自身的值不變。nameList是列表類(lèi)參數(shù),調(diào)用函數(shù)后自身的值也隨之改變。Python的作用域一共有2種:全局作用域,局部作用域。定義在函數(shù)內(nèi)部的變量擁有一個(gè)局部作用域,定義在函數(shù)外的擁有全局作用域。 局部變量只能在其被聲明的函數(shù)內(nèi)部訪問(wèn),而全局變量可以在整個(gè)程序范圍內(nèi)訪問(wèn)。舉例如下:模塊Python 模塊(Module),是一個(gè) Python 文件,以 .py 結(jié)尾,包含了 Python 對(duì)象定義和Python語(yǔ)句。模塊讓你能夠有邏輯地組織你的 Python 代碼段。把相關(guān)的代碼分配到一個(gè)模塊里能讓你的代碼更好用,更易懂。模塊能定義函數(shù),類(lèi)和變量,模塊里也能包含可執(zhí)行的代碼。Python的一大優(yōu)勢(shì)即其擁有大量可用的第三方模塊,這些模塊(庫(kù))可以高效地解決某些領(lǐng)域的問(wèn)題,例如數(shù)據(jù)分析領(lǐng)域的Numpy、Pandas、Scipy、等等。調(diào)用模塊可以使用三種語(yǔ)句:import語(yǔ)句import module1[, module2[,... moduleN]from…import語(yǔ)句from modname import name1[, name2[, ... nameN]]from…import* 語(yǔ)句from modname import *數(shù)據(jù)結(jié)構(gòu)隊(duì)列(queue)是限定只能在表的一端進(jìn)行插入,在表的另一端進(jìn)行刪除的特殊的線性表。即“先進(jìn)先出”。堆棧(stack)是一個(gè)只在表尾進(jìn)行刪除和插入操作的線性表。即“后進(jìn)先出”。在列表中,可以使用append()方法添加元素至隊(duì)尾。執(zhí)行隊(duì)列操作可以通過(guò)popleft()方法刪除列表最左側(cè)元素;執(zhí)行堆棧則可以通過(guò)pop()方法刪除最右側(cè)元素。寫(xiě)在*筆者認(rèn)為編程是一件讓人快樂(lè)的事,使用代碼解決問(wèn)題以后獲得的成就感是難以言表的。而且高效的編程學(xué)習(xí)方式一定是邊學(xué)邊做,而不是對(duì)著復(fù)雜的教程硬啃。千萬(wàn)不要等到學(xué)完所有的理論才開(kāi)始動(dòng)手寫(xiě)*行代碼!Hello World,就在此刻。
2.關(guān)于Python的3個(gè)謊言,別再盲目學(xué)Python了(含視頻及書(shū)籍資源)
本人18年自學(xué)Python,現(xiàn)在是一名前端開(kāi)發(fā)。雖然不是大佬,但我還是想先潑點(diǎn)冷水!不要被市面上的各種Python培訓(xùn)廣告沖昏了頭腦:① 學(xué)完P(guān)ython,并不能立馬拿一兩萬(wàn)的工資,甚至可能找不到工作?、赑ython也沒(méi)有那么簡(jiǎn)單,不是有手就行?、蹌e想著1個(gè)月、2個(gè)月就能學(xué)會(huì),你至少得騰出半年時(shí)間全職學(xué)習(xí)!如果你還是執(zhí)意要學(xué)Python,那么好,接下來(lái)我們看看怎么學(xué)。Python作為一門(mén)腳本語(yǔ)言,難度上相較于其他語(yǔ)言略微簡(jiǎn)單點(diǎn)。但對(duì)于沒(méi)有計(jì)算機(jī)基礎(chǔ)的人來(lái)說(shuō),可能最開(kāi)始配置Python編譯環(huán)境都能讓他望而卻步。這里推薦一個(gè)無(wú)需安裝配置的在線編程平臺(tái)(新手可以先在線寫(xiě)一段時(shí)間的代碼,適應(yīng)下)邊學(xué)邊練,零基礎(chǔ)在線編程學(xué)習(xí)平臺(tái) 1、Python學(xué)習(xí)路線圖學(xué)習(xí)一定不是盲目的,只有先明確了要學(xué)哪些東西,怎么學(xué),才能更高效地去學(xué)Python。這是Python的整個(gè)知識(shí)體系圖譜,對(duì)于新手來(lái)說(shuō),沒(méi)必要學(xué)那么多。先把Python基礎(chǔ)和進(jìn)階知識(shí)吃透,才是入門(mén)的關(guān)鍵。后續(xù)你是往前端開(kāi)發(fā)深造,還是去新潮時(shí)髦的大數(shù)據(jù)、人工智能,就全憑自己的興趣。但我相信這時(shí)候的你,應(yīng)該不會(huì)像現(xiàn)在這么迷茫。2、關(guān)于如何學(xué)Python其實(shí)網(wǎng)上的Python課程很多,都是比較有體系的。學(xué)Python入門(mén)和進(jìn)階的知識(shí),用網(wǎng)課完全足夠。但Python本質(zhì)上是對(duì)一門(mén)語(yǔ)言工具的運(yùn)用,實(shí)戰(zhàn)比理論更重要。我們?cè)趯W(xué)習(xí)的時(shí)候一定要多敲、多練、多思考?。。?xiě)代碼不只是跟著視頻課或者照著書(shū)本寫(xiě)完就行的,我們要理清每行代碼的邏輯。剛開(kāi)始學(xué),*對(duì)每一句代碼都加以注釋?zhuān)瑤椭覀兝砬暹壿嫞由钣∠?。同時(shí),學(xué)完一個(gè)知識(shí)點(diǎn)后應(yīng)該多去找對(duì)應(yīng)的案例來(lái)練習(xí),做到理論與實(shí)戰(zhàn)的深度結(jié)合。推薦一套免費(fèi)的Python課:Python入門(mén)到精通137講 這套Python課的每一個(gè)知識(shí)點(diǎn)講完,都會(huì)有對(duì)應(yīng)的實(shí)戰(zhàn)案例來(lái)練習(xí),強(qiáng)烈推薦給新手!3、Python學(xué)習(xí)資源Python學(xué)習(xí)網(wǎng)站名稱(chēng)鏈接說(shuō)明代碼課堂 Py編碼規(guī)范中文版 Code Examples Module of the Week Py標(biāo)準(zhǔn)庫(kù)的使用菜鳥(niǎo)教程 cookbook》算法類(lèi):《算法圖解》《Python算法》《算法導(dǎo)論》計(jì)算機(jī)網(wǎng)絡(luò)書(shū)籍:《計(jì)算機(jī)網(wǎng)絡(luò):自頂而下》《TCP/IP詳解1:協(xié)議》《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》*,自學(xué)Python最重要的就是心態(tài)。我們?cè)趯W(xué)習(xí)過(guò)程中必然會(huì)遇到很多難題,可能自己想破腦袋都無(wú)法解決。這都是正常的,千萬(wàn)別急著否定自己,懷疑自己。找一個(gè)靠譜點(diǎn)的師兄,沒(méi)事知乎一下,其實(shí)這些難題也就迎刃而解了。
3.學(xué)習(xí)Python對(duì)辦公真的有用嗎?用經(jīng)驗(yàn)告訴你答案
Hello大家好,我是黑俠,一個(gè)帥氣、善良、勇敢、正直都和我沒(méi)關(guān)系的UP。Emm,開(kāi)玩笑,歡迎來(lái)到我的視頻頻道。今天來(lái)聊一聊學(xué)習(xí)python的事情,相信很多人都看到過(guò)朋友圈出現(xiàn)的python廣告,抑或是各種公眾號(hào)推出的python學(xué)習(xí)課堂,并且大多數(shù)都以“學(xué)會(huì)python讓你辦公效率直線提升,升職加薪一路狂飆”為賣(mài)點(diǎn)來(lái)進(jìn)行宣傳,那么,我這里就要提出一個(gè)問(wèn)題了。Python究竟適不適合辦公人士來(lái)學(xué)習(xí),以及學(xué)了之后究竟能不能給我的工作來(lái)帶質(zhì)一般的飛躍?目前我在做兼職文案,以我的親身經(jīng)歷為例,我可以很負(fù)責(zé)的告訴大家,學(xué)習(xí)python確實(shí)可以在某些方面提升你的工作效率,但是,并不是每個(gè)人都適合去學(xué)習(xí)它。去年9月份,我刷到朋友圈的python廣告,廣告語(yǔ)中宣傳的“高效、省時(shí)”很是吸引人。但是,促使我真正下定決心學(xué)python的,還是這些廣告中販賣(mài)的職場(chǎng)焦慮。那么,這些賣(mài)python課程的,是如何販賣(mài)焦慮的呢?他們會(huì)在廣告文章或者視頻中突出這么一點(diǎn):同事下班比我早,就是因?yàn)橛昧藀ython辦公;面對(duì)海量數(shù)據(jù)和文檔要整理,我卻無(wú)能為力,但是用了python便可以快速搞定;學(xué)習(xí)一種編程語(yǔ)言,可以讓自己的職業(yè)發(fā)展更加有力。不得不說(shuō),現(xiàn)在的廣告很能抓住人的心理,學(xué)習(xí)python可以讓職業(yè)發(fā)展更加順暢這一點(diǎn)確實(shí)擊中我了。從18年初開(kāi)始,我一直在進(jìn)行能力上的提升,學(xué)了python之后,我豈不是文案+編程樣樣精通了。于是,抱著這樣的心理,我從去年9月份學(xué)到今年4月底,學(xué)習(xí)時(shí)長(zhǎng)8個(gè)月整。然而,現(xiàn)實(shí)是殘酷的。這八個(gè)月來(lái),我一直在利用空余時(shí)間學(xué)習(xí),有的時(shí)候?qū)W到晚上十一二點(diǎn)。但是,學(xué)了這么久的python,對(duì)我的文案編輯工作沒(méi)有一點(diǎn)實(shí)際性的幫助。說(shuō)到這里,主觀因素是我太盲目了,把寶貴的時(shí)間用在了別的地方。如果用8個(gè)月來(lái)學(xué)寫(xiě)作或者進(jìn)修相關(guān)的專(zhuān)業(yè)知識(shí),會(huì)不會(huì)我的工作能力已經(jīng)大幅提高了?其實(shí)這里不能怪python機(jī)構(gòu)的鍋,從商業(yè)角度來(lái)說(shuō),他們售賣(mài)python課程,進(jìn)行一定程度的營(yíng)銷(xiāo)和推廣是沒(méi)問(wèn)題的,這個(gè)我可以理解。這里要特別講明一下,有些python機(jī)構(gòu)賣(mài)的課其實(shí)很淺顯,質(zhì)量參差不齊,這一點(diǎn)需要小伙伴們仔細(xì)辨別。他們把信息展現(xiàn)給你,學(xué)不學(xué)其實(shí)是我們來(lái)決定的。所以,各位在下定決心要學(xué)python之前,一定要仔細(xì)思考清楚,是否真的需要這門(mén)編程語(yǔ)言來(lái)輔佐你的工作。其實(shí),還是有一部分比較不錯(cuò)的python培訓(xùn)機(jī)構(gòu)會(huì)明確標(biāo)注,哪類(lèi)人適合學(xué)習(xí)python。但是,標(biāo)注對(duì)于小伙伴們做決定,只能起到一定的幫助,實(shí)際還是要自己仔細(xì)琢磨。我這篇視頻,就是來(lái)給大家分析一下,究竟哪些人群適合學(xué)python。由于python萬(wàn)能膠水的屬性,前端、后端都能做,雖然不比java等主流編程語(yǔ)言在IT界有地位,但是其在大數(shù)據(jù)、人工智能、數(shù)據(jù)分析、爬蟲(chóng)等領(lǐng)域還是有非常重要的作用的。但是,當(dāng)我周邊有很多小伙伴都說(shuō)要開(kāi)始學(xué)python時(shí),我才發(fā)現(xiàn),大多數(shù)的人都是因?yàn)槁殬I(yè)焦慮和恐慌而學(xué)習(xí)的python,就像我一樣盲目。他們并不知道,自己究竟適不適合學(xué)習(xí)python。你真正要解決并面對(duì)的,是引起你職業(yè)焦慮和恐慌的誘因,而不是用學(xué)習(xí)的借口,掩蓋住自己身上發(fā)生的真正問(wèn)題。接下來(lái)看一下哪些人需要學(xué)習(xí),哪些人不需要。哪類(lèi)人適合學(xué)python:1. 在實(shí)際工作業(yè)務(wù)中,能夠用得到python的人。比如會(huì)計(jì)、金融類(lèi)、分析師等經(jīng)常和數(shù)據(jù)打交道的人。學(xué)會(huì)python之后,在搜集數(shù)據(jù)、批量處理數(shù)據(jù)報(bào)表、千萬(wàn)量級(jí)的數(shù)據(jù)導(dǎo)入導(dǎo)出、數(shù)據(jù)可視化等方面,均可以應(yīng)對(duì)。2. 空余時(shí)間多人的。假如你平常工作不忙,時(shí)間充足,且喜歡編程,那么你就非常適合來(lái)學(xué)習(xí)python。哪些人不適合學(xué)python:1. 工作時(shí)間特別忙的人:既然你平常工作已經(jīng)非常忙了,那么根本抽不出時(shí)間來(lái)學(xué)python?;蛘吣銛D出自己的休息時(shí)間來(lái)學(xué),但是這會(huì)讓你的精力大打折扣,以至于白天上班的效率都會(huì)下降,得不償失。2. 主業(yè)根本用不到python,但是卻想提升業(yè)務(wù)能力的人:要找對(duì)重點(diǎn),在職場(chǎng)中,你的哪方面薄弱,就從哪方面入手進(jìn)行學(xué)習(xí)和鍛煉。既然你的業(yè)務(wù)根本用不到python,那你還要堅(jiān)持學(xué),其實(shí)就是自討苦吃。把這個(gè)時(shí)間和精力,放在提升主要業(yè)務(wù)上,升職加薪?jīng)]得問(wèn)題。3. 吃不了苦的人:這里是針對(duì)想要以python為職業(yè)發(fā)展的人來(lái)說(shuō)的。python作為辦公用途,其實(shí)只發(fā)揮了它的一小部分作用。真正使用到python的地方,是在上述所說(shuō)的大數(shù)據(jù)、人工智能、數(shù)據(jù)獲取和分析等,這些領(lǐng)域都需要你擁有一定的計(jì)算機(jī)基礎(chǔ),比如數(shù)據(jù)庫(kù)操作與原理、數(shù)據(jù)算法、計(jì)算機(jī)系統(tǒng)原理等等。如果作為一個(gè)門(mén)外漢來(lái)學(xué)習(xí)python,必須要吃很多苦,攻讀很多資料。而且,當(dāng)你掌握了python之后,還需要學(xué)習(xí)一些其他的語(yǔ)言,當(dāng)程序員不能只會(huì)一門(mén)編程語(yǔ)言。好了,以上就是今天的視頻分享,雖然我學(xué)的python目前用不到,但是既然已經(jīng)學(xué)了8個(gè)月,我就打算在后續(xù)時(shí)間里,把它完成并掌握,不能愧對(duì)自己以往的努力和決定。我學(xué)的是python爬蟲(chóng)方向,如果你有相關(guān)的問(wèn)題和想法需要討論,歡迎評(píng)論區(qū)留言互動(dòng)吧。我是黑俠,我們下期再見(jiàn)!拜拜。
就拿大數(shù)據(jù)說(shuō)話,優(yōu)勢(shì)一目了然,從事IT行業(yè),打開(kāi)IT行業(yè)的新大門(mén),找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專(zhuān)業(yè)和系統(tǒng)的學(xué)習(xí)。