學(xué)習(xí)Python可以參考回答:https://www.wukong.com/question/6621147311907012872/
Python可以用來做:
Web 應(yīng)用開發(fā)、自動化運(yùn)維、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、科學(xué)計(jì)算、人工智能,還可以用在各種場景與各種平臺、設(shè)備、語言進(jìn)行連接,因此被稱為膠水語言。
相關(guān)崗位:
Linux運(yùn)維
Python web網(wǎng)站工程師
Python web全棧工程師
Python自動化測試
Python 爬蟲開發(fā)工程師
數(shù)據(jù)分析師
網(wǎng)絡(luò)編程工程師
......
16歲學(xué)python什么都可以干。
學(xué)技術(shù)越早學(xué)習(xí)越容易成為高手。這就是為什么偉人說計(jì)算機(jī)要從娃娃抓起。可是一般的小孩兒為了高考年齡太小的時候,不可能花太多時間來學(xué)習(xí)計(jì)算機(jī)。當(dāng)后來方向確定之后,完全可以開始。學(xué)習(xí)自己喜歡的東西,所以16歲學(xué)python是非常好的年齡。
謝謝邀請!
Python語言目前是IT行業(yè)內(nèi)最流行的編程語言之一,而且近幾年P(guān)ython語言的上升趨勢非常明顯,所以學(xué)習(xí)并掌握Python語言對于初學(xué)者來說是不錯的選擇。由于Python的應(yīng)用領(lǐng)域比較廣泛,所以目前Python方面的崗位也比較多,就業(yè)還是相對比較容易的。
雖然Python語言的崗位比較多,但是由于Python語言比較簡單易學(xué),不少程序員也在陸續(xù)轉(zhuǎn)向Python開發(fā)領(lǐng)域,其中Java程序員比較多,所以對于沒有計(jì)算機(jī)基礎(chǔ)的初學(xué)者來說,崗位競爭壓力還是比較大的。
對于基礎(chǔ)比較薄弱的初學(xué)者來說,要想提升自身的崗位競爭力,需要從以下幾個方面入手:
第一:選擇人才缺口相對比較大的方向。要想提升崗位競爭力,最好學(xué)習(xí)人才缺口比較大的方向,同時具有一定的發(fā)展前景,當(dāng)前大數(shù)據(jù)、人工智能等方向就是不錯的選擇。Python語言在大數(shù)據(jù)和人工智能領(lǐng)域有廣泛的使用,而且大數(shù)據(jù)相關(guān)方向的人才缺口比較大,競爭相對沒有Web開發(fā)那么激烈。
第二:豐富知識結(jié)構(gòu)。在學(xué)習(xí)Python語言的過程中,一定要逐漸補(bǔ)學(xué)計(jì)算機(jī)基礎(chǔ)知識,包括操作系統(tǒng)體系結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)、數(shù)據(jù)庫等內(nèi)容,這些內(nèi)容對于后續(xù)的學(xué)習(xí)具有較大的幫助作用,而且要想在大數(shù)據(jù)和人工智能領(lǐng)域走得更遠(yuǎn),一定要注重算法知識的學(xué)習(xí)。
第三:加強(qiáng)實(shí)踐能力的培養(yǎng)。學(xué)習(xí)Python語言一定要多做實(shí)驗(yàn),編程語言說到底就是一種工具,只有多使用才能逐漸熟悉并建立起自己的編程思想。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)方面的問題,或者考研方面的問題,都可以咨詢我,謝謝!
Python作為一種應(yīng)用極為廣泛的語言,幾乎在任何領(lǐng)域都能派上用場。想做Web有Flask/Django/Tornado;想做分布式有Celery;想做手機(jī)App有Kivy;想做數(shù)據(jù)分析有Pandas;想做可視化有Matplotlib/Seaborn/Plotly/Bokeh;想做機(jī)器學(xué)習(xí)有Tensorflow/PyTorch/MxNet……
夸張一點(diǎn)說,幾乎沒有什么做不了的東西(筆芯)。小慕今天分享兩個可以用Python做的非常好玩的事情,大家都可以試試看~一、面部識別得益于大量前人的工作,如今利用Python做一些簡單的計(jì)算機(jī)視覺工作已經(jīng)變得非常非常簡單了。像人臉識別、面部特征提取之類的工作,就可以直接拿來用,極少需要自己實(shí)現(xiàn)繁瑣的算法。
DLib就是一個這樣的C++庫,而同時它也提供了Python接口。
想必大家都有過在辦公室遭遇boss探視的經(jīng)歷,而此時此刻你卻在毫無自知地逛著淘寶/知乎/豆瓣,場面一度十分尷尬……
那我們就來嘗試一下,用Python通過攝像頭探測人臉。如果有人進(jìn)入了攝像頭范圍,則讓Python提出一個通知,告訴你——趕緊把不相關(guān)的東西關(guān)掉!
整個代碼很短,無非幾十行,為了能夠使用,我們還需要安裝一些包和庫。這里需要用到的包括OpenCV和DLib。由于dlib需要boost-python,因此還需要安裝boost和boost-python。(注意:boost-python默認(rèn)情況下只編譯python2依賴的庫,如果使用python3,需要加編譯開關(guān);而dlib里是沒有探測python版本的,所以可能還需要做一些小hack或者是直接改boost-python庫里的文件名)
至于代碼,可以簡單地放出來:
import cv2import dlibfrom subprocess import callfrom time import timeFREQ = 5FACE_DETECTOR = dlib.get_frontal_face_detector()# macOS下可以使用AppleScript發(fā)送通知def notify(text, title):cmd = r'display notification "%s" with title "%s"'%(text, title)call(["osascript", "-e", cmd])if __name__ == '__main__':# 初始化攝像頭cap = cv2.VideoCapture(0)# 創(chuàng)建繪圖窗口# cv2.namedWindow('face')notify_time = 0while True:# 獲取一幀ret, frame = cap.read()# 不需要太精細(xì)的圖片frame = cv2.resize(frame, (320, 240))# 探測人臉,可能有多個faces = FACE_DETECTOR(frame, 1)for face in faces:# 提取人臉部分 畫個方框# fimg = frame[face.top():face.bottom(), face.left():face.right()] # cv2.rectangle(frame, (face.left(), face.top()), (face.right(), face.bottom()), (255, 0, 0), 3) # 不超過FREQ秒一次的發(fā)提醒if time() - notify_time > FREQ:notify(u'檢測到人臉', u'注意')notify_time = time()# 畫到窗口里# cv2.imshow('face', frame)# 按Q退出if cv2.waitKey(500) & 0xff == ord('q'): break# 清理窗口 釋放攝像頭# cv2.destroyAllWindows()cap.release()代碼的原理很簡單:通過opencv捕獲攝像頭獲取的圖像,然后交由dlib的face detector進(jìn)行檢測。如果檢測到臉部,則通過AppleScript發(fā)出系統(tǒng)提醒(notify函數(shù)即通過process執(zhí)行AppleScript發(fā)出提醒,如果你使用的是Windows,也可以替換成別的內(nèi)容,例如Win下使用VBScript發(fā)出彈窗提醒)。
當(dāng)然,既然檢測到人臉,那就不僅僅只是能做簡單提醒了。還可以做的事情包括多張照片的臉部變形合成——比如,找出你和你女朋友的照片來做個夫妻相合成什么的……
或者,提取所有的標(biāo)志性點(diǎn),給人臉合成出意外的表情或者哈哈鏡效果。
甚至可以借助其它的深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行人臉識別。這算是超級弱化版的臉部識別,比不上FaceID但也挺好玩,不過計(jì)算量就不容樂觀了。
順便說一句,什么人臉識別關(guān)掉不該看的東西,對小慕來說不存在的,人家上班刷知乎可是經(jīng)過老板點(diǎn)頭的!(驕傲臉叉腰)
二、數(shù)據(jù)分析來分析下Marvel 今年的最后一部戲:「雷神3:諸神的黃昏」。前一段時間滿天飛的預(yù)告片,神秘博士的客串,綠巨人的出演,看得人十分興奮!來張大圖:
大家對于這部電影的評價(jià)是怎么樣的呢?小慕爬取了2w條豆瓣影評,做一個簡單分析。
先來看看豆瓣的短評:
這里只抓取了前2w條評論,說一個小技巧,喜歡寫爬蟲的小伙伴們注意了:爬取的網(wǎng)頁一定要緩存到本地!這可以減少解析網(wǎng)頁時出錯,避免需要重新再爬一遍的「尷尬」!另外這能給服務(wù)器減少負(fù)載,人家網(wǎng)站管理員看你的請求還算守規(guī)矩,也就不會封你賬號/ip啦!
代碼大概是這樣的:
下面是緩存下來的網(wǎng)頁文件:
既然有2w多條數(shù)據(jù),怎么能直接寫sql,那會累死的……于是要來封裝一下操作數(shù)據(jù)庫的邏輯:
來看看效果,除去部分出錯的,還剩下19672條:
具體的數(shù)據(jù)是長這樣的:
另外,贊同數(shù)量排名第一 卷耳 君的影評實(shí)在是太有意思了:
第一部:《爸爸,再愛我一次》
第二部:《哥哥,再愛我一次》
第三部:《姐姐,再愛我一次》
ps:托爾終于從錘神變成了雷神
錘子之神這個梗小慕表示能玩一年(手動微笑臉)。
光有數(shù)據(jù)還不足以說明什么,深入分析一波:細(xì)心的小伙伴一定發(fā)現(xiàn)了,雷神明明是11月3號才上映,為啥10月份就有影評了?小慕猜測,這肯定是漫威鐵桿粉跑國外看了,一查發(fā)現(xiàn),果然人家洛杉磯10月10號就上映了:
既然關(guān)心到日期,可以來統(tǒng)計(jì)一下周一到周日哪天去看電影的人比較多:
整體數(shù)據(jù)顯示:果然還是周末去看電影的人更多……周一數(shù)據(jù)高于二、三、四的原因,不知道是不是沒有周末的朋友調(diào)休去看的?
PS: 數(shù)據(jù)庫里的日期是2017-10-25格式的:怎么快速讓他顯示成周X呢? 這里只要寫個小函數(shù)就行:
從數(shù)據(jù)庫里讀數(shù)據(jù)和統(tǒng)計(jì)的方式在這:(后面的統(tǒng)計(jì)方式也都類似,就不每次都把代碼放出來啦)
說了這么多還是沒提到電影的受歡迎程度,直接放圖:
總體上看還是推薦的人比較多耶,這應(yīng)該挺符合大家的預(yù)期,畢竟是漫威出品,光忠實(shí)粉絲就不計(jì)其數(shù)。更何況這個片子里出現(xiàn)了很多超級火爆的場面戲,還有各種超級英雄助陣,這樣的統(tǒng)計(jì)結(jié)果也就不足為奇了。
最后將排名前100的評論內(nèi)容做了一下分詞,做成詞云:
至于補(bǔ)充提問中提到的這為什么適合用Python做,其實(shí)說到底就是用Python來抓取和處理各種數(shù)據(jù)都非常「順手」。
據(jù)小慕所知,目前的數(shù)據(jù)工作中,數(shù)據(jù)科學(xué)家使用最多的工具語言就是Python,排在第二的工具語言是R語言。但這里有一個有趣的現(xiàn)象,那就是同時使用Python或者R語言的人,推薦別人使用Python的卻遠(yuǎn)高于R語言。Why?
答案是:1. Python簡單易學(xué),極其容易上手,語法簡單,處理速度會比R語言要快,而且無需把數(shù)據(jù)庫切割。
2. 市場前景好,是目前的趨勢,就業(yè)也會更容易。
3. 標(biāo)準(zhǔn)庫非常龐大,特別的“功能齊全”,可以處理各種工作,其中就包含抓取和處理數(shù)據(jù)。
所以,有一種說法是:python語言在工程方便比較實(shí)用,R語言則更受學(xué)術(shù)界歡迎。具體是否贊同這種說法,還要看大家自己的理解咯~其實(shí)除了小慕舉例說的這兩種有趣的事情,Python能做的還有很多,在此不一一列舉,如果感覺get到了新姿勢,記得回來點(diǎn)贊啦~
程序員學(xué)習(xí)交流請?zhí)砑幽秸n網(wǎng)官方客服微信:mukewang666回復(fù)暗號“前端面試”可進(jìn)前端交流群回復(fù)暗號“Java”可進(jìn)Java交流群回復(fù)暗號“專欄”可進(jìn)程序員交流群