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