不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇專(zhuān)業(yè)python開(kāi)發(fā),就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來(lái)告訴你這個(gè)專(zhuān)業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:為什么不建議普通人學(xué)習(xí)Python開(kāi)發(fā),記著,python開(kāi)發(fā)千萬(wàn)別“學(xué)”Tkinter.??。
1.為什么不建議普通人學(xué)習(xí)Python開(kāi)發(fā)
Python最近無(wú)疑被朋友圈玩壞了甚至要好幾頁(yè)才能鋪下但從一個(gè)資深程序員的視角出發(fā),實(shí)在不建議你將Python作為一種職業(yè),從功利性的角度出發(fā),你學(xué)Python是很找到工作的從圖片中看出需要Python技能崗位需求量約為Java的1/10, Python基本上只有三種職位后端開(kāi)發(fā),爬蟲(chóng),數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí),以及運(yùn)維崗位就拿后端開(kāi)發(fā)來(lái)說(shuō),負(fù)責(zé)后端業(yè)務(wù)邏輯的編寫(xiě),以及與數(shù)據(jù)庫(kù)交互等。但相對(duì)于Java,PHP來(lái)說(shuō),Python并沒(méi)有那么好用,其語(yǔ)法效率也比較低,Java是靜態(tài)編譯類(lèi)型語(yǔ)言,Python為動(dòng)態(tài)解釋語(yǔ)言,即一個(gè)先由編譯器編譯成計(jì)算機(jī)能執(zhí)行的二進(jìn)制代碼,這樣計(jì)算機(jī)直接執(zhí)行就可以了,但Python的解釋性語(yǔ)言,即是運(yùn)行時(shí)進(jìn)行編譯,運(yùn)行的,因此效率會(huì)比較低。其測(cè)試結(jié)果如下1000萬(wàn)次計(jì)數(shù)效率,Java是Python的100倍此外Java技術(shù)棧經(jīng)過(guò)多年的發(fā)展,已經(jīng)積累了海量的技術(shù)棧,比如分布式的各種東西: 控制反轉(zhuǎn),三層架構(gòu),服務(wù)調(diào)度,流量調(diào)度,全棧監(jiān)控,適用于復(fù)雜系統(tǒng)的分布式架構(gòu)。而Python發(fā)展時(shí)間尚短,并沒(méi)有海量類(lèi)庫(kù),用來(lái)干小一點(diǎn)的網(wǎng)站還OK的,大的網(wǎng)站從速度以及技術(shù)棧的角度來(lái)講,都是不太建議的。Java,PHP進(jìn)過(guò)長(zhǎng)時(shí)間發(fā)展,已形成了自己的"技術(shù)旗幟",大量開(kāi)發(fā)擁簇在同樣旗幟下,發(fā)展成了自己的技術(shù)山頭,從而聚集起越來(lái)越多的人。從公司招聘的角度出發(fā),肯定愿意招聘適用面廣的技術(shù)棧,這樣產(chǎn)品維護(hù)起來(lái)比較簡(jiǎn)單,人員離職了也能更好的找到能替代的人,萬(wàn)一搞個(gè)Python技術(shù)棧,人員離職了萬(wàn)一招不到人了怎么辦?爬蟲(chóng)工程是也會(huì)經(jīng)常用到Python,Python在數(shù)據(jù)抓取等方面確實(shí)有著一定的優(yōu)勢(shì),但專(zhuān)職做爬蟲(chóng)的工程師又有多少?市場(chǎng)的需求并不大。如下圖所示,x勾*范圍內(nèi)爬蟲(chóng)工程師的崗位為207.目前從事爬蟲(chóng)工程師風(fēng)險(xiǎn)也比較大,各位要謹(jǐn)慎考慮數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí)中會(huì)用Python來(lái)編寫(xiě),這是因?yàn)橄日莆樟死碚摱笥肞ython來(lái)實(shí)現(xiàn),而非會(huì)Python就能做數(shù)據(jù)挖掘,它只是一個(gè)工具而已。而且如果你要從事數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí),*的途徑是上個(gè)NB*:*的米國(guó)藤校之類(lèi),國(guó)內(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í)工程師的崗位趨近于飽和,工作越來(lái)越難找。從19年我司的招聘情況來(lái)看,10-11月還找不到工作的計(jì)算機(jī)專(zhuān)業(yè)學(xué)生中,很大一部分都是人工智能相關(guān)的。從公司角度來(lái)看,國(guó)外做這個(gè)的也一大堆,為啥我不招留學(xué)生呢?名頭更響不是,我干嘛還要招一個(gè)沒(méi)什么名氣*里做人工智能的呢?大家選專(zhuān)業(yè)時(shí)也要從實(shí)際情況出發(fā),不要只覺(jué)得有趣,看起來(lái)NB,經(jīng)過(guò)外行媒體一鼓吹就選了。就跟娶老婆一樣,不光好看就行了,還得看是否實(shí)用是吧?上面鼓吹人工智能缺口500W的,沒(méi)有一個(gè)是專(zhuān)業(yè)媒體報(bào)道的: 要么是培訓(xùn)機(jī)構(gòu),要么是外行。要么壞,要么蠢。因?yàn)镻ython可以算是一種腳本語(yǔ)言,因此在運(yùn)維中應(yīng)用也比較廣,但跟上面一樣,這只是運(yùn)維需要掌握的一門(mén)技能而已。當(dāng)然,如果你不想以Python為職業(yè),希望以此來(lái)入門(mén)還是不錯(cuò)滴。Python畢竟比C要簡(jiǎn)單多了,沒(méi)有C中亂七八糟指針等偏底層的概念,國(guó)外很多課程都是以Python來(lái)入門(mén)的,因此用來(lái)入個(gè)門(mén),知道程序是啥還是可以的。但如果你想變得像文案中說(shuō)的那樣:用Python做自動(dòng)化表格,一鍵爬取海量論文(不怕被抓么),估計(jì)是難度比較大了,專(zhuān)業(yè)工作者都要經(jīng)過(guò)大量調(diào)試才能保證正確性,你這么有自信能比肩專(zhuān)業(yè)碼農(nóng)么?一個(gè)每天做行政的小妹,要去學(xué)習(xí)Python的語(yǔ)法,類(lèi)庫(kù),然后在機(jī)器上裝Python的運(yùn)行環(huán)境,然后敲出代碼寫(xiě)個(gè)程序去處理excel,萬(wàn)一出錯(cuò)還得去,csdn,上扒各種帖子找bug...唉,別浪費(fèi)人家雙十一了吧。
2.記著,python開(kāi)發(fā)千萬(wàn)別“學(xué)”Tkinter.
Python開(kāi)發(fā),千萬(wàn)別“學(xué)”tkinter.python這門(mén)語(yǔ)言,名字叫蟒蛇是沒(méi)錯(cuò)的,靈活,而又強(qiáng)大,但是丑陋。為何這么說(shuō)?因?yàn)樗旧淼慕缑鎺?kù)tkinter,很弱雞,幾乎沒(méi)有完整豐富的資料,幾乎沒(méi)有高品質(zhì)界面項(xiàng)目的案例,幾乎沒(méi)有所見(jiàn)即所得的設(shè)計(jì)器。python不需要界面嗎?當(dāng)然不是,python作為應(yīng)用開(kāi)發(fā)的利器,怎么可能不需要界面?就算真的不需要,有界面還是比沒(méi)有界面的效果要友好吧?那開(kāi)發(fā)界面需要學(xué)習(xí)python的內(nèi)置界面庫(kù)tkinter嗎?千萬(wàn)別“學(xué)”。那怎么辦?相信我,你盡快選擇一個(gè)方案就好了,不要花時(shí)間在tkinter的研究和學(xué)習(xí)上。從我多年的開(kāi)發(fā)經(jīng)驗(yàn)上看,大多數(shù)語(yǔ)言之所以火爆,有其自身的特點(diǎn),也有開(kāi)發(fā)工具的功勞。比如VC++,即便你非常的看不上MFC,但是不可忽視的是世界上巨量的C++程序員,還是大多數(shù)放棄了自己以win32方式編寫(xiě)窗口程序,而是采用MFC來(lái)進(jìn)行窗口應(yīng)用的界面設(shè)計(jì)。為啥?因?yàn)榉奖憧旖荨T谡鎸?shí)的世界中,我們的目的不是為了研究windows程序怎么破,而是為了完成工作,又快又好的完成工作,這才是目的。從我的角度看,python這門(mén)語(yǔ)言,你的學(xué)習(xí)時(shí)間應(yīng)該偏重在人工智能,數(shù)據(jù)分析,算法功能或者服務(wù)處理。讓自己更加偏重于python的核心領(lǐng)域。而不應(yīng)該浪費(fèi)時(shí)間去學(xué)一個(gè)殘缺不全,沒(méi)有新時(shí)代設(shè)計(jì)開(kāi)發(fā)流程支持的東西上。2023年了啊,我看到很多python視頻還在教人手寫(xiě)tkinter界面做一個(gè)計(jì)算器。不是一個(gè),是很多。顯得很酷是不是?終于有了界面顯示是不是?看看罷了,千萬(wàn)別學(xué)。因?yàn)闆](méi)有意義。為很沒(méi)有意義?因?yàn)槟銓W(xué)的再深,終究擺脫不了被時(shí)代拋棄的命運(yùn)?,F(xiàn)在的界面應(yīng)用開(kāi)發(fā)設(shè)計(jì),一定要符合所見(jiàn)即所得和設(shè)計(jì)邏輯分離的基本原則,一定要有匹配設(shè)計(jì)器的支撐。否則一定是落伍的,不專(zhuān)業(yè)的,沒(méi)有復(fù)用性的。所以,你千萬(wàn)別“學(xué)”tkinter。這個(gè)“學(xué)”是強(qiáng)調(diào)!而要去找滿足以上原則的方向,只有這樣,你的學(xué)習(xí)才是有意義的??蛇x的方案比較出名的是pyQT,既有設(shè)計(jì)器,控件又多,還是老外的東西。低調(diào)奢華十幾年,看著穩(wěn)的一批。那還有就是…算了,不介紹更多競(jìng)品大哥了,我這個(gè)小弟不才,做了一個(gè)IDE,幫助python開(kāi)發(fā)者快速搭建界面應(yīng)用,提供常用控件,支持拖拽設(shè)計(jì),所見(jiàn)即所得,頁(yè)面布局和事件響應(yīng)分離,支持樣式設(shè)計(jì)編輯,支持自定義模塊嵌入與界面控件無(wú)縫對(duì)接,支持直接打包exe,…總之,國(guó)貨當(dāng)自強(qiáng)。總之,萬(wàn)別學(xué)tkinter,要學(xué),就學(xué)!哈哈哈哈哈。github打顆 嗎?GitHub下載地址www..com*感謝如潮水般的開(kāi)發(fā)者的每天反饋,讓我累的像條狗一樣去滿足你們的需求。
就拿大數(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í)。