不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇學(xué)習(xí)python,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來告訴你這個(gè)專業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:為什么不建議普通人學(xué)習(xí)Python開發(fā),怎么自學(xué)python,大概要多久?,我的Python學(xué)習(xí)之旅,清華教授用了12小時(shí)講完的Python,整整400集,拿走不謝!??。
1.為什么不建議普通人學(xué)習(xí)Python開發(fā)
Python最近無疑被朋友圈玩壞了甚至要好幾頁才能鋪下但從一個(gè)資深程序員的視角出發(fā),實(shí)在不建議你將Python作為一種職業(yè),從功利性的角度出發(fā),你學(xué)Python是很找到工作的從圖片中看出需要Python技能崗位需求量約為Java的1/10, Python基本上只有三種職位后端開發(fā),爬蟲,數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí),以及運(yùn)維崗位就拿后端開發(fā)來說,負(fù)責(zé)后端業(yè)務(wù)邏輯的編寫,以及與數(shù)據(jù)庫交互等。但相對(duì)于Java,PHP來說,Python并沒有那么好用,其語法效率也比較低,Java是靜態(tài)編譯類型語言,Python為動(dòng)態(tài)解釋語言,即一個(gè)先由編譯器編譯成計(jì)算機(jī)能執(zhí)行的二進(jìn)制代碼,這樣計(jì)算機(jī)直接執(zhí)行就可以了,但Python的解釋性語言,即是運(yùn)行時(shí)進(jìn)行編譯,運(yùn)行的,因此效率會(huì)比較低。其測試結(jié)果如下1000萬次計(jì)數(shù)效率,Java是Python的100倍此外Java技術(shù)棧經(jīng)過多年的發(fā)展,已經(jīng)積累了海量的技術(shù)棧,比如分布式的各種東西: 控制反轉(zhuǎn),三層架構(gòu),服務(wù)調(diào)度,流量調(diào)度,全棧監(jiān)控,適用于復(fù)雜系統(tǒng)的分布式架構(gòu)。而Python發(fā)展時(shí)間尚短,并沒有海量類庫,用來干小一點(diǎn)的網(wǎng)站還OK的,大的網(wǎng)站從速度以及技術(shù)棧的角度來講,都是不太建議的。Java,PHP進(jìn)過長時(shí)間發(fā)展,已形成了自己的"技術(shù)旗幟",大量開發(fā)擁簇在同樣旗幟下,發(fā)展成了自己的技術(shù)山頭,從而聚集起越來越多的人。從公司招聘的角度出發(fā),肯定愿意招聘適用面廣的技術(shù)棧,這樣產(chǎn)品維護(hù)起來比較簡單,人員離職了也能更好的找到能替代的人,萬一搞個(gè)Python技術(shù)棧,人員離職了萬一招不到人了怎么辦?爬蟲工程是也會(huì)經(jīng)常用到Python,Python在數(shù)據(jù)抓取等方面確實(shí)有著一定的優(yōu)勢(shì),但專職做爬蟲的工程師又有多少?市場的需求并不大。如下圖所示,x勾*范圍內(nèi)爬蟲工程師的崗位為207.目前從事爬蟲工程師風(fēng)險(xiǎn)也比較大,各位要謹(jǐn)慎考慮數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí)中會(huì)用Python來編寫,這是因?yàn)橄日莆樟死碚摱笥肞ython來實(shí)現(xiàn),而非會(huì)Python就能做數(shù)據(jù)挖掘,它只是一個(gè)工具而已。而且如果你要從事數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí),*的途徑是上個(gè)NB*:*的米國藤校之類,國內(nèi)的都不行,跟個(gè)NB導(dǎo)師,發(fā)些NB的Paper,上頭有人才好辦事,特別是在學(xué)術(shù)界,算法這玩意還是跟學(xué)術(shù)界聯(lián)系比較緊密的,否則只能淪為"調(diào)參工程師"。而且隨著人工智能光環(huán)的褪去,業(yè)務(wù)落地變現(xiàn)困難,人工智能/機(jī)器學(xué)習(xí)工程師的崗位趨近于飽和,工作越來越難找。從19年我司的招聘情況來看,10-11月還找不到工作的計(jì)算機(jī)專業(yè)學(xué)生中,很大一部分都是人工智能相關(guān)的。從公司角度來看,國外做這個(gè)的也一大堆,為啥我不招留學(xué)生呢?名頭更響不是,我干嘛還要招一個(gè)沒什么名氣*里做人工智能的呢?大家選專業(yè)時(shí)也要從實(shí)際情況出發(fā),不要只覺得有趣,看起來NB,經(jīng)過外行媒體一鼓吹就選了。就跟娶老婆一樣,不光好看就行了,還得看是否實(shí)用是吧?上面鼓吹人工智能缺口500W的,沒有一個(gè)是專業(yè)媒體報(bào)道的: 要么是培訓(xùn)機(jī)構(gòu),要么是外行。要么壞,要么蠢。因?yàn)镻ython可以算是一種腳本語言,因此在運(yùn)維中應(yīng)用也比較廣,但跟上面一樣,這只是運(yùn)維需要掌握的一門技能而已。當(dāng)然,如果你不想以Python為職業(yè),希望以此來入門還是不錯(cuò)滴。Python畢竟比C要簡單多了,沒有C中亂七八糟指針等偏底層的概念,國外很多課程都是以Python來入門的,因此用來入個(gè)門,知道程序是啥還是可以的。但如果你想變得像文案中說的那樣:用Python做自動(dòng)化表格,一鍵爬取海量論文(不怕被抓么),估計(jì)是難度比較大了,專業(yè)工作者都要經(jīng)過大量調(diào)試才能保證正確性,你這么有自信能比肩專業(yè)碼農(nóng)么?一個(gè)每天做行政的小妹,要去學(xué)習(xí)Python的語法,類庫,然后在機(jī)器上裝Python的運(yùn)行環(huán)境,然后敲出代碼寫個(gè)程序去處理excel,萬一出錯(cuò)還得去,csdn,上扒各種帖子找bug...唉,別浪費(fèi)人家雙十一了吧。
2.怎么自學(xué)python,大概要多久?
我就是從零基礎(chǔ)開始學(xué)的Python,也算是一個(gè)過來人了吧,現(xiàn)在看來當(dāng)初我也是走了許多彎路,來給大家分享一下我的經(jīng)驗(yàn)吧。首先是最重要的一點(diǎn),想清楚你為什么要去學(xué)Python?你是想要做一個(gè)網(wǎng)站,寫一個(gè)順手的工具,還是只要能夠通過學(xué)校的考試就行,這很大程度的影響了你該如何去學(xué)Python,學(xué)到什么程度或者是你是否該轉(zhuǎn)去學(xué)習(xí)另一種語言。如果你只是想做一個(gè)個(gè)人網(wǎng)站或者博客,你大可去學(xué)PHP,甚至根本不用學(xué),網(wǎng)上有很多網(wǎng)站模板,直接就能用。如果你們和當(dāng)初的我一樣是希望通過Python寫一些小工具來提升自己在職場上的競爭力,提高生產(chǎn)力,你就需要明白Python相比其他語言的優(yōu)勢(shì)之處。易上手。就是Python*的優(yōu)勢(shì),一個(gè)初學(xué)者不需要像C,Java去懂得數(shù)據(jù)類型,內(nèi)存管理,你只要學(xué)會(huì)幾句語法,你就可以完成一個(gè)任務(wù)。代碼簡潔。別的語言可能需要上百行的代碼才能完成的任務(wù),Python只需要十行。龐大完善的代碼庫支持。Python為我們提供了完善的基礎(chǔ)代碼庫,在網(wǎng)絡(luò),文件,文本,GUI方面都有大量的函數(shù)為我們提供幫助。還有第三方庫,也就是世界各地的程序員分享出來的代碼庫,當(dāng)我們想去實(shí)現(xiàn)某個(gè)需求的時(shí)候,也許已經(jīng)有人為你造好了輪子,你只要調(diào)用就行。選對(duì)正確的學(xué)習(xí)方法,這可以幫你少走很多彎路。這非常重要,因?yàn)槿绻x擇了一個(gè)低效的學(xué)習(xí)方法,也許別人都已經(jīng)徹底學(xué)會(huì)了,你才剛配置好環(huán)境,學(xué)會(huì)Hello World。沒有基礎(chǔ)的建議先打好基礎(chǔ),有基礎(chǔ)的可以看文字。不要怕基礎(chǔ)枯燥,基礎(chǔ)真正打好, 之后做項(xiàng)目你會(huì)有種打通經(jīng)絡(luò)的快感。編程之路開始還請(qǐng)不要功利,得耐得住寂寞,枯燥。對(duì)于小白來說,有個(gè)人引導(dǎo)會(huì)比自學(xué)要高效的多,尤其容易堅(jiān)持不下去的小伙伴??梢栽囋囅旅孢@個(gè)入門課程,不用本地安裝Python環(huán)境,能直接在網(wǎng)頁上敲代碼,還有大牛老師帶著入門,能少走很多彎路!只要跟著老師一行行的敲代碼,堅(jiān)持下來會(huì)發(fā)現(xiàn)其實(shí)學(xué)Python非常容易?。∠胍?基礎(chǔ)入門的同學(xué)現(xiàn)在可以領(lǐng)取下面這節(jié)課程試試?yán)玻?Cookbook,Head First Python從寫完,出版,翻譯成中文,這中間的周期很長,而Python作為一個(gè)更新很快的語言,你學(xué)習(xí)的版本可能已經(jīng)落后了。一定要多練!一定要多練!一定要多練!任何編程語言的學(xué)習(xí)都是建立在實(shí)踐上面的,不練習(xí),就像是花了半天時(shí)間去學(xué)習(xí)開槍的理論,結(jié)果根本沒有機(jī)會(huì)摸槍,你覺得你打得準(zhǔn)嗎?想要學(xué)好Python一定要多去練習(xí),沒有熟練度的加成,你學(xué)的再多也只是紙上談兵,一旦面對(duì)了真正的問題,你就會(huì)無從下手。學(xué)會(huì)用搜索引擎。程序員里面會(huì)用百度的人的工資是不會(huì)用的好幾倍,會(huì)用google的又是會(huì)百度的好幾倍。用好搜索引擎,你會(huì)發(fā)現(xiàn)你遇到的問題基本上都是有前人碰到過并已經(jīng)解決了的問題。同時(shí),會(huì)用搜索引擎之后你能找到很多資源幫助你的學(xué)習(xí)。*,努力學(xué)習(xí),學(xué)以致用。生活中可以用到Python的位置遠(yuǎn)比你想象的多得多,等到你學(xué)會(huì)Python之后你會(huì)發(fā)現(xiàn)生活中有很多的問題都是可以通過Python來幫助你快速解決的。學(xué)編程最需要的就是耐心!現(xiàn)在大家想學(xué)編程太方便了,跟著教程滿天飛。剛開始入門的時(shí)候有高手帶,往往能有事半功倍的效果,尤其是自己不知道怎么找資料,怎么去配置編程環(huán)境什么的時(shí)候。有人手把手教的話,入門就高效很多了。強(qiáng)烈推薦一下這節(jié)0基礎(chǔ)入門課程哦~
3.我的Python學(xué)習(xí)之旅
上個(gè)月,公司招了幾位Python程序猿。在他們的宣傳鼓舞下,我覺得,為了將來不落伍,有必要學(xué)習(xí)一下這門技能。能寫爬蟲,能數(shù)據(jù)分析,能寫前端,還能寫機(jī)器學(xué)習(xí)。這玩意這么強(qiáng)大!看來,我這一直是人工半量化的主,如果學(xué)會(huì)Python應(yīng)該就能完全機(jī)器自動(dòng)交易了。就先把這個(gè)定為一個(gè)小目標(biāo)吧。遂于11月份開始準(zhǔn)備學(xué)習(xí)。新來的小伙子很熱情,推薦了兩個(gè)網(wǎng)站學(xué)習(xí)基礎(chǔ)知識(shí):一個(gè)是“廖雪峰的官方網(wǎng)站”,鏈接直接指向Python教程部分;一個(gè)是菜鳥教程。剛開始了解的時(shí)候,發(fā)現(xiàn),敢情Python還分2和3兩個(gè)版本。而且據(jù)說兩個(gè)版本的差異還挺大。學(xué)哪個(gè)就是個(gè)首要問題了。這個(gè)問題我沒費(fèi)太大勁。因?yàn)?,?jù)說py2未來要停止維護(hù),那它不就跟WindowsXP一樣了嗎?那還是直接3吧。我學(xué)習(xí)Python基礎(chǔ)的時(shí)候,先看的上面兩個(gè)網(wǎng)站。我覺得,菜鳥教程寫得很基礎(chǔ),但是各個(gè)環(huán)節(jié)連貫性不強(qiáng)。講每個(gè)知識(shí)點(diǎn)的部分就是講它自己那點(diǎn)東西。廖雪峰老師的就深入一些了。能夠有一定的連貫性。知識(shí)點(diǎn)有應(yīng)用在里面。但是,可能是廖老師認(rèn)為很多東西大家都應(yīng)該知道,所以,不是所有的基礎(chǔ)知識(shí)都按部就班的講了。我在看的時(shí)候,還是有些費(fèi)勁的。雖然我是學(xué)計(jì)算機(jī)的,但是畢業(yè)后的*份工作是人力資源。作為一個(gè)學(xué)計(jì)算機(jī)里做人力資源*,做人力資源里金融搞的*的雜牌選手來說,到現(xiàn)在畢業(yè)10年了,計(jì)算機(jī)技術(shù)基本上都還老師了。所以,我是金融里弄計(jì)算弄得最差的那欄里的。這課得補(bǔ)上!鑒于從上述兩個(gè)網(wǎng)站上學(xué)習(xí)遇到了困難。我開始在咱知乎上搜些別的想法。有人推薦了很多書,我選了一本《A Byte of Python3》讀。內(nèi)容不多,才200來頁。這很便于短時(shí)間內(nèi)讀完。如果是那種好幾百頁的大部頭,我估計(jì)真的很難啃下去。學(xué)這東西必須得快,有人說:你可以三個(gè)月學(xué)會(huì)Python,也可以6個(gè)月學(xué)不會(huì)Python。很好理解,忘嘛~所以,必須一鼓作氣。我用了不到一周的時(shí)間啃完這本書。然后,我把菜鳥教程中Python3實(shí)例部分的內(nèi)容都自己編了一遍。我的想法很明確:我沒時(shí)間看視頻學(xué)習(xí)。因?yàn)闆]時(shí)間聽那幫老師都咳嗽。只能看資料。而只看資料看書是學(xué)不會(huì)編程的。這玩意必須動(dòng)手。但是,如果上來你讓我寫個(gè)爬蟲,我估計(jì)我得死去。那最輕松的選擇就是放棄。讓新兵怎么建立信心?肯定不是攻堅(jiān),而是找個(gè)弱的不能再弱的敵人,蹂躪一下。這樣,新兵就建立起信心了,也積累了一定的戰(zhàn)斗經(jīng)驗(yàn)。后面面對(duì)“硬骨頭”的時(shí)候就能咬牙啃下來。所以,快速學(xué)完基礎(chǔ)知識(shí),知道Python的語法、規(guī)則后,就開始做練習(xí)題。菜鳥教程中實(shí)例那部分的練習(xí)我認(rèn)為真的很不錯(cuò)。對(duì)熟悉語法和訓(xùn)練變成思想很有幫助。(這里我強(qiáng)調(diào)一下,*不要看人家寫的現(xiàn)成的代碼。必須自己想,自己編,自己調(diào)試。哪里不會(huì)了,搜搜公式用法啥的沒問題。但是必須自己想思路,并且自己實(shí)現(xiàn)。這樣事半功倍,雖然慢但是,每作為一步就有一步的收獲。如果總是看別人的現(xiàn)成東西,實(shí)際上自己等于沒動(dòng)腦。那就是事倍功半。雖然學(xué)到了些東西,但是沒想象中那么多。我認(rèn)為編程這東西靠得就是算法??简?yàn)的是把現(xiàn)實(shí)生活中的問題抽象成數(shù)學(xué)的能力。編出程序和調(diào)試工作只是很機(jī)械的一部分而已。重點(diǎn)還是算法。)初級(jí)的習(xí)題完成后,我覺得有必要提高了——得找些相對(duì)復(fù)雜一點(diǎn)點(diǎn)的任務(wù)做做。這個(gè)時(shí)候還是強(qiáng)大的知乎幫助了我。有人推薦一個(gè)網(wǎng)站Py.CheckiO。這網(wǎng)站的形式是游戲。升級(jí)方式不是打怪,是完成編程任務(wù)。很好很強(qiáng)大。我很喜歡。界面是這樣的而且任務(wù)也比較有挑戰(zhàn)。我編*個(gè)任務(wù)的時(shí)候,整整用了一天的時(shí)間。8個(gè)小時(shí)完成一個(gè)任務(wù)。就是這個(gè)任務(wù):后面就越來越快了。很有意思?,F(xiàn)在我正在不斷完成任務(wù)中。后面的文章就記錄這些任務(wù)了。今天,先把已經(jīng)完成的都貼上。后面的可能進(jìn)度要慢些了。老婆要生孩子,得幫著伺候月子。更新的話,隨緣吧。~~~20210104前幾天把島上的任務(wù)全完成了?,F(xiàn)在開始做 station上的任務(wù)。下圖??赡苁亲罱容^忙,明顯感覺這欄的任務(wù)難度有點(diǎn)大了。有的時(shí)候?qū)嵲谑窍氩怀鏊惴???磥磉€是投入的精力不足啊。有沒有一起修煉的道友?大家一起來玩,還能商量商量啥的~~~
4.清華教授用了12小時(shí)講完的Python,整整400集,拿走不謝!
Python在近幾年越來越受追捧,很多童鞋或者職場小伙伴想要提升技能-學(xué)習(xí)Python。這是非常好的事情,但問題在于很多人不知道學(xué)Python做什么,所以什么零碎細(xì)末、艱難晦澀、長篇大論的都去看,很容易陷入學(xué)不下去的困境。必須要有針對(duì)性、選擇性地學(xué)!針對(duì)性學(xué)習(xí)宗旨是按需去學(xué),學(xué)以致用。因此騰訊大佬推薦的大型Python教程,我今天分享出來,希望可以幫助正在學(xué)習(xí)Python的你!Python特點(diǎn):易于學(xué)習(xí):Python有相對(duì)較少的關(guān)鍵字,結(jié)構(gòu)簡單,和一個(gè)明確定義的語法,學(xué)習(xí)起來更加簡單。易于閱讀:Python代碼定義的更清晰。易于維護(hù):Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的。一個(gè)廣泛的標(biāo)準(zhǔn)庫:Python的*的優(yōu)勢(shì)之一是豐富的庫,跨平臺(tái)的,在UNIX,Windows和Macintosh兼容很好?;?dòng)模式:互動(dòng)模式的支持,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言,互動(dòng)的測試和調(diào)試代碼片斷。可移植:基于其開放源代碼的特性,Python已經(jīng)被移植(也就是使其工作)到許多平臺(tái)??蓴U(kuò)展:如果你需要一段運(yùn)行很快的關(guān)鍵代碼,或者是想要編寫一些不愿開放的算法,你可以使用C或C++完成那部分程序,然后從你的Python程序中調(diào)用。數(shù)據(jù)庫:Python提供所有主要的商業(yè)數(shù)據(jù)庫的接口。GUI編程:Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用??汕度? 你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。為了避免漫無目零散的學(xué)習(xí)方式,我已經(jīng)整理好了粉絲福利內(nèi)容共分26章,講解了Python基礎(chǔ)的方方面面, 可以作為Python學(xué)習(xí)者的“寶典”。同時(shí),穿插了3個(gè)大型實(shí)戰(zhàn)項(xiàng)目:1. 坦克大戰(zhàn)游戲。采用游戲開發(fā)的方式,寓教于樂,快樂中掌握Python基礎(chǔ)。2. 手寫算法和數(shù)據(jù)結(jié)構(gòu)。算法和數(shù)據(jù)結(jié)構(gòu)是很多大公司面試的不二選擇,我們這里講解內(nèi)容的同時(shí),手把手帶你實(shí)現(xiàn)一個(gè)個(gè)底層算法,將內(nèi)功練扎實(shí)。3. 手寫神經(jīng)網(wǎng)絡(luò)。Python是人工智能的*語言。我們創(chuàng)造性的在基礎(chǔ)課程中就加入了如何編寫一個(gè)自己的神經(jīng)網(wǎng)絡(luò),為踏入神經(jīng)網(wǎng)絡(luò)的大門打下“堅(jiān)實(shí)基礎(chǔ)”。本套視頻一共400集,本套視頻共分3季:*季 【基礎(chǔ)篇】Python基礎(chǔ) (115集)第二季 【提高篇】Python深入和擴(kuò)展(100集)第三季 【擴(kuò)展篇】網(wǎng)絡(luò)編程、多線程、擴(kuò)展庫(85集)第四季 【高手篇】算法、Python源碼、函數(shù)式編程、手工實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)(100集)第1階段python開發(fā)基礎(chǔ)和核心特性1.變量及運(yùn)算符2.分支及循環(huán)3.循環(huán)及字符串4.列表及嵌套列表5.字典及項(xiàng)目練習(xí)6.函數(shù)的使用7.遞歸及文件處理8.文件9.面向?qū)ο?0.設(shè)計(jì)模式及異常處理11.異常及模塊的使用12.坦克大戰(zhàn)13.核心編程14.高級(jí)特性15.內(nèi)存管理第2階段數(shù)據(jù)庫和linux基礎(chǔ)1.并發(fā)編程2.網(wǎng)絡(luò)通信3.MySQL4.Linux5.正則表達(dá)式第3階段web前端開發(fā)基礎(chǔ)1.html基本標(biāo)簽2.css樣式3.css浮動(dòng)和定位4.js基礎(chǔ)5.js對(duì)象和函數(shù)6.js定時(shí)器和DOM7.js事件響應(yīng)8.使用jquery9.jquery動(dòng)畫特效10.Ajax異步網(wǎng)絡(luò)請(qǐng)求第4階段Python Web框架階段1.Django-Git版本控制2.Django-博客項(xiàng)目3.Django-商城項(xiàng)目4.Django模型層5.Django入門6.Django模板層7.Django視圖層8.Tornado框架第5階段Python 爬蟲實(shí)戰(zhàn)開發(fā)1.Python爬蟲基礎(chǔ)2.Python爬蟲Scrapy框架
就拿大數(shù)據(jù)說話,優(yōu)勢(shì)一目了然,從事IT行業(yè),打開IT行業(yè)的新大門,找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。