03.03 python一般用來做什麼?

吳文建


做過數據採集及處理,人工智能,機器學習,快速驗證某個功能或算法。


大數據預測彩票


Python是一門非常通用的編程語言,在各個不同的領域有著廣泛的用途。


Google是從一開始就使用python的公司。


那麼使用Python能幹什麼呢。

1. 網頁開發

目前B/S開發模式越來越流行,而Python提供了Django, Flash等基於Python的Web框架,利用Django, Flash可以快速的幫助我們建立Web服務器。

2. Data Science - 包括機器學習,數據分析和數據可視化

什麼是機器學習呢

比如如下的圖片,一隻貓,但是程序怎麼識別出這是一隻貓呢。

然後我又想識別出下面的這張圖片中有一顆樹呢

也許我們會這麼設想,如果一張圖中白色像素佔比比較大的話,則認為這是一隻白貓,如果綠色像素佔比比較多的話則認為是一顆樹


但是加入我們現在有很多不同顏色的狗的圖片和不同顏色樹的圖片該怎麼區分呢。


機器學習通常實現一種自動檢測給定輸入的模式的算法。

我們可以輸入1000張貓的圖片和1000張樹圖片給這個機器學習的算法,然後這個算法就會識別出貓和樹。

當你再輸入一個新的貓或者樹的圖片給這個算法,然後算法就會識別出這是一隻貓還是一顆樹了


然而Python有兩個比較流行的庫scikit-learn 和TensorFlow

3. Script - 腳本

腳本就是利用Python實現一些小程序,從而簡化我們的工作。

網頁自動化測試

網頁爬蟲


ToBeBetterMe


起初我最開始是搞PHP的,有句話怎麼說來著,“PHP是世界上最好的語言”,這一句能讓含蓄靦腆程序員掙個面紅耳赤。後來我又加入了Python陣營,只能說“真香”。香是因為我利用Python解決我的實際問題.

(1)找資源不求人

效果:⭐⭐⭐⭐⭐

技術:python爬蟲,python網絡編程,數據庫

我最初入門Python完全是為了搞爬蟲,爬東爬西的,這樣下來我收集到了不少獲取資源的方式。寫了一個腳本獲取各類資源入庫,這樣積累下來,我找電子書、視頻、電影都是用的自己爬蟲爬到。數據。

(2)自動化辦公效率高

效果:⭐⭐⭐⭐⭐

技術:Selenium,PyAutoGui,Pywinauto

還在重複鼠標點點點?複製粘貼?又沒效率,又沒技術含量,不如用Python幫我處理了(我要有更多的時間處理小姐姐的需求)。什麼收發郵件,處理OA公文,這都沒問題。出報表,合併表格,這都是小意思。

(3)AI賦能

效果:⭐⭐⭐⭐⭐

技術:機器學習,深度學習,tensorflow,keras,pytorch,fastai

在使用Python語言的人中,有一部分人都是機器學習或者深度學習愛好者和從業者。作為AI的首選語言。Python不斷征服了其他語言。說說我用Python編寫過的神經網絡代碼吧,從簡單的中文手寫識別、貓狗分類、狗狗品種分類、鳥類別分類、安全帽佩戴檢測、高鐵裂紋檢測、垃圾分類、無人機目標檢測等等應用。

效果:⭐⭐⭐⭐⭐

技術:服務器技術,Python Web編程

這個項目也就是我最初學習Python想達到的目的,效果當然一級棒,百度網盤的資源眾多,更新又快,但是官方不提供搜索,只好自己去爬。經過幾年的改進和積累,可以說我可以搜到任何我想要的資源。

總之,其實我做的一些事情都很皮毛,但是充分的體現了Python的強大。你可以去爬全國各地的房價、各地的空氣質量、熱門電影的影評,可以給自己的他/她定時發微信消息,可以預見的是我對Python掌握的越多,我就會變的更厲害。

以上就是我用Python做的事情,如果你想跟我交流可以留言或者點個贊。


一起玩編程


作為一名IT行業的從業者,同時也是一名教育工作者,我來回答一下這個問題。

得益於大數據和人工智能技術的發展,目前Python語言的上升趨勢非常明顯,而且隨著產業互聯網時代的到來,未來Python語言的應用範圍會得到進一步的拓展。

我目前採用Python語言主要從事大數據分析和人工智能領域的一些開發任務,整體上來說,採用Python語言還是比較方便的,一方面Python語言的代碼相對比較簡潔,另一方面Python語言也有大量的庫可以使用,不僅開發速度比較快,代碼調整起來也相對比較方便。

早期我在進行機器學習方面的算法實現時,一直在採用Java語言,一方面原因是我對Java語言比較熟悉,有大量的Java開發經驗,另一方面Java語言自身的生態也相對比較成熟,也有不少案例可以參考,直到有一次在參加學術交流會議的時候,在同行強烈的推薦下,我才開始採用Python來完成算法實現,確實感覺要比Java語言更方便一些。

Python語言與Java語言一樣,都屬於全場景編程語言之一,Python除了在大數據和人工智能領域有廣泛的應用之外,在Web開發和嵌入式開發領域也有大量的應用,實際上Python也是Web開發領域的常見開發方案之一,不少大型的Web平臺也是基於Python實現的。

最後,雖然Python語言的優點比較多,但是目前在生產環境下,Java的應用要更普遍一些,一方面Python的性能與Java還存在一定的差距(分場景),另一方面Java語言的整個生態體系也更加健全,但是相信隨著大數據、雲計算的不斷髮展,未來Python語言將成為Java語言有力的競爭者。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


很多人跟你一樣,只管悶頭學,卻不知道為什麼去學,往往的理由是:“簡單啊”、“收入高啊”、“人生苦短,我用Python”,好吧,那我這裡簡述下學了Python可以幹嘛。當然是為了賺錢啊,哈哈!


Web應用開發

服務器端編程,具有豐富的Web開發框架,如Django和TurboGears,快速完成一個網站的開發和Web服務。典型如國內的豆瓣、果殼網等,國外的Google、Dropbox等。


系統網絡運維

在運維的工作中,有大量重複性工作的地方,並需要做管理系統、監控系統、發佈系統等,將工作自動化起來,提高工作效率,這樣的場景Python是一門非常合適的語言。


科學與數字計算

Python被廣泛的運用於科學和數字計算中,例如生物信息學、物理、建築、地理信息系統、圖像可視化分析、生命科學等,常用numpy、SciPy、Biopython、SunPy等。


3D遊戲開發

Python有很好的3D渲染庫和遊戲開發框架,有很多使用Python開發的遊戲,如迪斯尼卡通城、黑暗之刃。


圖形界面開發

Python可編寫桌面圖形用戶界面,還可以擴展微軟的Windows,常用Tk、GTK+、PyQt、win32等。


網絡編程

除了網絡和互聯網的支持,Python還提供了對底層網絡的支持,有易於使用的Socket接口和一個異步的網絡編程框架Twisted Python。


蝸牛學院


能用來幹嘛?這個要看你需求了,Python能做的事情太多了,作為一門解釋型的腳本語言,Python的用途非常廣泛,Web開發、數據處理、機器學習、網絡爬蟲、自動化測試等都有深入涉及,下面我簡單介紹一下,感興趣的朋友可以嘗試一下:

Web開發

日常生活或開發,我們經常需要搭建一個Web網站以向外界展示服務信息,Python針對Web開發,提供了非常多的框架和模塊,flask、tornado、django等,內置大量模板和實用工具,只需少量代碼即可快速構建一個網站,如果你對Web開發比較感興趣,想搭建一個屬於自己的Web系統,可以學習一下這些框架,非常簡單,也容易入門:

數據處理

日常辦公或生活中,我們經常會遇到形形色色的文件,excel、txt、csv、json等,如果數據量比較大,處理起來會非常麻煩,而且容易出錯,Python針對日常文件處理,提供了非常多的模塊,比較著名的就是pandas,內置大量函數和類型,只需簡單幾行代碼就可快速讀取和處理數據,如果你日常需要處理大量數據,重複勞動,可以使用一下這個模塊,非常不錯,簡單而又高效:

機器學習

作為當前一個熾手可熱的研究領域,機器學習的應用範圍非常廣,無人駕駛、人臉識別、股票預測、個性化推薦等,Python針對機器學習,提供了非常多的框架和第三方模塊,重量級的tensorflow,輕量級的scikit-learn等,內置大量算法和實用工具,只需少量代碼即可快速搭建驗證你的模型,如果你對機器學習比較感興趣,或者實驗、科研中需要用到某些機器學習算法,可以學習一下這些模塊,非常有幫助:

網絡爬蟲

日常生活中,我們可能需要從某些網站採集大量數據(其實就是爬蟲),還要保持實時更新,如果只是人工反覆複製黏貼,效率會非常低下,而且不利於數據規整,Python針對網站等數據的批量採集,提供了非常多的爬蟲框架,比較著名的就是scrapy,免費、開源、跨平臺,可定製化程度高,支持分佈式,只需簡單幾行代碼就可快速構建一個爬蟲程序,後期易於擴展,也易於維護:

自動化測試

這也是Python一個比較重要的應用領域,自動化測試在軟件開發中扮演著非常重要的角色,也是軟件質量的可靠保證,Python針對自動化測試,提供了一個非常實用的框架—robot framework,封裝了大量關鍵字,可以快速進行Web接口和UI測試,如果你對軟件測試比較感興趣,或者想從事於測試行業,那麼rf就是一個非常不錯的工具,值得使用:

目前就分享這麼多吧,其實除了以上5個方面,Python還有許多其他用途,像科學計算、遊戲開發等,作為一門新興、不斷成長的編程語言,Python的前景還是非常不錯的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。


小小猿愛嘻嘻


說幾個我用得著的領域吧:

1、數據採集與分析,例如現在我有1000個excel文件,包含各類銷售、產品數據,如果人工分析估計要累死了。此時可以用Python批量處理這些文件,然後按照需求進行運算並顯示結果。

2、自動填寫表單並提交。很多人的工作是在網頁或者軟件上填寫內容然後提交,這塊工作其實完全也可以交給Python去做,如果我們有明確的數據源的話(比如文本文件),我們可以規定好規則,文件的那些內容填寫到網頁的哪些位置,然後自動提交。

3、使用爬蟲獲取數據並進行分析,現在是數據大爆炸的時代,網上的數據是在是太多了。比如房價信息,各種網站都提供,那麼我們如何整合這些信息做一個最全面的參考呢。此時就可以使用爬蟲,將某一地區的房價信息都爬取下來,然後進行綜合分析運算,這樣是不是更便於大家買房參考呢?當然使用爬蟲一定要注意,不要用於商業用途,也不要隨便爬取別人的數據,尊重原創,不然有可能會觸碰法律哦。

4、編寫網站。Python也是可以做網站的,尤其適用於需要快速開發的場景。

5、機器學習人工智能。Python在這些算法研究領域非常火爆,有很多現成的庫和框架可以供學習使用。

Python能做的太多了,感興趣的話可以學習,總體還是比較簡單的一門語言。


三線城市程序員老陳


Python是一門編程語言,應用非常廣泛,我用來做金融數據分析,量化投資。

探討問題與分析思路

本文以Python為量化工具,主要探討以下三個問題:

(1)指數定投的優勢與劣勢在哪?

(2)指數定投受哪些因素影響,是不是時間越長越好?

(3)指數定投策略如何優化?

編程軟件:基於Python3.7的Jupyter Notebook,使用到的庫包括numpy、pandas、matplotlib、pyecharts和tushare等。

數據來源:使用tushare pro開源包獲取上證指數、深證指數、滬深300、上證50、中小板和創業板1991-2018年數據,其中中小板和創業板是2011年-2018年數據。

源代碼:Talk is cheap, show me the code (廢話少數,放碼過來!),關注微信公眾號:Python金融量化(id:tkfy920),回覆"指數定投源碼”免費獲取下載地址。

01

國內指數價格走勢

首先,對A股幾個常用的指數歷史走勢進行可視化分析,直觀反映不同期間股價漲跌情況,其次,計算各期間股指的累計收益率,為後面的指數定投對比分析做鋪墊。

各指數自上市交易以來累計收益率情況:區間拉長,各有千秋。

牛市區間累計收益率情況:'2013-01-01':'2015-06-12':牛市來了,創業板身板輕,飛得更高(摔下來也疼)。

倒V形區間收益率情況:'2011-01-01':'2018-12-24':辛辛苦苦八九年,最後回到解放前。

2018年以來累計收益率:'2018-01-01':'2018-12-24'。怎一個“慘”字了得,中小板跌到媽都不認得。

各指數自上市以來累計收益率和年化平均收益率:上證綜指自1990年12月以來累計收益率達到322.98%,但是幾何年平均收益率也只有5.29%,低於中證500、滬深300和中小板指。

02 指數定投策略

指數定投策略:即每月於固定日期使用固定金額投資指數基金。如將每月月初發的工資3000元用於投資指數基金。

下面運用Python定義指數定投的回測函數,假定無風險理財產品收益率為4%(假設而已),每月月初(或者月末)定投3000元購買指數基金,計算各期間累計收益率和累計定投資金。先來看第一個問題,指數定投在什麼情況下優於一次性投資以及無風險理財(銀行定期存款)呢?


微笑曲線(V或W形態):不難理解,指數定投的優勢在於規避擇時,不怕踩坑,通過長期定額投資分攤成本,當股指呈微笑形走勢的時候,一定是優於一次性投資的,但是否能獲得較高回報,還得看右側回升的幅度大小。如選取區間2007年10月17日至2015年6月12日,該期間是股指自1990年以來的歷史高點6124點開始下跌,然後反彈至5178點,即假設你運氣碰巧那麼差,在最高點當接盤俠,然後每個月繼續傻乎乎的補倉,然後終於運氣來了,在2015年高點全部清倉。如下圖所示,如果你在高點一次性買入然後長期持有,期間累計收益率是-16.48%,而定投的累計收益率卻高達101.03%(每月月初投入),無風險理財的期間累計收益率也只有16.28%。



小微曲線:上圖選擇的“微笑曲線”很優美,剛好是股指兩頭高(右側高才是關鍵),中間低,因此通過每月定投不斷分攤長期成本,獲得超額收益率。那如果右側不是很高呢?再來看另一個區間,2007年10月17日(6124高點)至2009年07月20日(3333低點),如下圖所示,區間累計收益率為-62.31%(佛性),理財累計收益率3.62%,每月月初定投的累計收益率仍然有15.64%(每月月底定投是17.96%,其實統計分析二者並無顯著差異)。可見,一次性買入長期持有策略對擇時的要求非常高,一旦踩了坑(高點接盤),將很難翻身,而長期定投策略則規避了擇時的困擾,在股指短期波動向下,中長期向上反彈的走勢中優勢凸顯。


難過曲線(倒V或M形態):有微笑曲線,當然也有難過曲線。正所謂,有陰必有陽,有漲必有跌,有得必有失。什麼情況下定投指數策略處於劣勢呢?將回測區間拉長,考察指數從低點-高點-低點、經歷兩次大的牛熊轉換時,指數定投策略的累計收益率情況。如下圖所示,選取區間2006年10月01日(2000多點)至2018年12月24日(2000多點),相當於經過了12年多,股指差不多又回到起點。一次性買入期間累計收益率為36.6%,理財定投累計收益率為27.63%,但是指數定投累計收益率卻為-7.39%(-7.46%),可見,指數定投並非時間越長越好,也並非一直比一次性買入持有策略好。

單邊牛市:即起點為最低點,終點為最高點。選取區間2014年07月1日至2015年06月12日進行回測。如下圖所示,一次性投入並持有的策略明顯優於定投策略。通過上述分析,不難發現,一次性買入並持有策略對擇時要求非常高,即同時在買點和賣點精準把握才能獲取超額收益率,而定投指數策略對買點並無要求,但要求賣點出現在右側才能獲取超額收益。換句話說,指數定投並非毫無目的的一直做長期定額投資,而是要結合一些擇時指標判斷拐點進行“止盈”,才能獲取較高的累計收益率。

03

其他指數情況

股票指數是反映股票市場總的價格水平變化的指標。一般是選取有代表性的一組股票,採取價格加權平均計算得到。各種指數具體的股票選取和計算方法是不同的,只看單一股票指數可能難以反映總體情況。下面對照分析上證指數、深證指數、滬深300、上證50、中小板和創業板指數,由於創業板是2010年才推出,因此下面的分析主要考察2011年-2018年區間。


單邊牛市:考察期間2014年07月01日至2015年06月12日,創業板定投累計收益率最高,達到124.3%,並且定投累計收益率居然高於一次性投入的累計收益率;而上證50定投累計收益率最低,只有63.22%。


倒V形(右側高於左側):考察區間2011年08月01日至2016年12月24日,創業板累計收益率仍然是最高的,除了創業板外,指數定投策略的收益率均高於一次性投入持有策略。

難過曲線:考察期間2011年08月01日至2018年12月24日,該區間內,上證綜指、深證成指、中證500和中小板指累計收益率均出現了負數,但定投策略虧損較少,其他幾個指數仍有正的收益率,除創業板外,指數定投策略仍然優於一次性投入持有策略。

單邊下行:考察期間2015年06月12日至2018年12月24日,毫無疑問,單邊下行的時候,定投不斷分攤了長期成本,累計虧損率要低於一次性投入。此外,單邊下行的時候,期間內創業板累計跌幅是最大的,正所謂風水輪流轉,山水有相逢。



2018年情況:2018年國內外形勢雲詭波譎,內外夾擊,經濟持續下行,股票市場首當其衝,各大指數均出現了大幅下跌,股民怨聲載道。年初至今,中小板累計虧損高達45.12%(定投:-24.66%)。可見,起風的時候,身子輕的豬可以飛得更高,但摔下來的時候也更慘!


通過上述分析,不難看出指數定投的優勢與劣勢,以及什麼條件下可以獲得較好的累計收益率。巴菲特建議個人投資者最好的投資方式是指數定投,尤其是對於收入來源於每月固定薪酬的普通散戶。為什麼倡導指數定投?其實背後的邏輯是很清晰的,即股市受當前受各方因素疊加影響,短期波動較大,形勢不明朗,但是對股市長期走勢抱有很大希望,這時候做指數定投將是一個不錯的投資策略,儘管短期內可能承受較大的虧損壓力。最後引用基金觀察網上的一張圖片進行總結:“長期國運向好,中期估值合理,短期情緒恐慌,所以此時不定投,啥時再定投?”

05 結語

本文使用Python對A股幾個常見的指數歷史行情進行了可視化分析,通過構建指數定投策略函數,對不同區間指數定投策略進行了歷史回測,全面展示了指數定投策略的優劣勢、適用性與侷限性。華爾街曾流傳著一句話:“要在市場中準確地踩點入市,比在空中接住一把飛刀更難。”可見擇時是非常困難的,指數定投則規避了這一選擇,通過採取分批買入法,克服了只選擇一個時點進行買進和賣出的缺陷,不斷分攤和均衡長期成本,因此指數定投在中長期看好、短期波動較大的行情中優勢明顯。股票市場短期內是噪音交易佔主導,無論你使用的量化技術多麼複雜高深,可以戰勝市場的唯一方式依然是獲取概率優勢。大道至簡,只有簡單的策略,才能在長期投資中保持高度的穩定概率優勢。


更多幹貨請關注微信公眾號:Python金融量化


Python金融量化


舉例:

同在公司同一崗位的兩個人,老闆需要過往一年的數據進行復盤分析,不懂的只能按照以前整理的慢慢來,更多可能沒整理需要自己去慢慢一格格的看,然後用表格寫一大堆數據然後自己分析,兩三天是肯定的。懂python的直接抓取數據生成表格,兩個小時就完事。並且有條理更詳細。

所以python除了程序員這一大受眾,也會有其他行業的人加入進來,基數大當然學的也大,當然也是有很多人把python當做工作,不知道題主是玩玩還是啥,就在更下面細說吧。

更多人學python並不是為了靠這個養活自己,而是利用python加強自身本職工作的競爭力。比如新媒體,產品經理、財務、證券等。畢竟python好處看得到,也是學起來最簡單的編程語言。


比如新媒體職業:

1、簡單來說,你會python後就相當於自己建造一個屬於自己工作區塊的微博熱搜榜。你可以利用爬蟲、收據抓取等技術知道哪些話題近期特別火,為什麼火、有什麼共通點,然後根據這些依據來進行自己文章的撰寫,在找idea上也花不了那麼多時間。

2、寫作過程中,也能在網上抓取相應文章、數據、以及原始素材,形成自己的數據庫,基本你確定一個想寫的文章架構,後續的內容填充,事件舉例就是很簡單的事情了。只要自己想法足夠好,就能出一篇爆款。

3、另外有幫助的就是文章質量,你真的挖掘出熱點高頻詞彙,哪些句式和故事被引用最多,也能分析其他的頭條號、公眾號等等,看看人們最喜歡看的都是些啥,最近詞彙在人們搜索中所佔比重,別人都是跟在熱點屁股上,你就是蹭熱點臉上。

4、有數據支撐也會讓你頭腦更清醒,也不會有什麼流量大起大落還不明白的地方,所有流程都是屬於透明的。你還可以進行腳本製作,幫助你更好的管理你所做的運營。

對於程序員來說

還有一部分人學是因為python在程序員中很多時候相當於一個膠水的存在,幫助更好的完成你的編程工作,並且你單獨學python其實也是為即將到來的人工智能做鋪墊。畢竟人工智能大多都是由python寫的。

大多牛逼的程序員不可能只會一種語言。python的確是後來居上的語言,也很有用,雖然現在主流是java,但python是趨勢這句話也沒有錯。另外網上說學python更多是想要入這一行的,因為python比較簡單,選最簡單的入行肯定沒錯,只不過現在只會python工作不好找。但真的有本事,真的也不愁。

這東西就是因人而異,有些人學了不會靈活運用,自然沒有,有些人就能把他當做ps一樣,給自己工作增添很多優秀案例。

所以,給你項目,給你分享資源,看你點贊收藏加關注的時刻,自然也會跟碰到g點一樣,腦袋一下振奮,有了很大的成就感。


下面這些就是給出的項目名字哦,一看就知道是能幹啥的。

回覆“python項目”就能獲得下面這些資源了哦。


幾個Python小案例,愛上Python編程!

交流社區特別小的案例,但小豬佩奇的我還是很喜歡。第二個也有用。

股票python量化交易

python爬蟲實戰教程

用人工智能玩轉“和平精英”--我“吃雞”,我快樂

春運回家搶票無憂,Python大牛帶你實現12306全自動搶票

爬蟲—用Python抓取職位信息


黑馬程序員


我們現在就只說python,python可以用來做:

1.系統編程;2.圖形處理;3.數學處理;4.文本處理;5.數據庫編程;6.網絡編程;7.Web編程;8.多媒體應用;9.pymo引擎;10.黑客編程;11.用Python寫簡單爬蟲;12:人工智能.

看到這麼多運用場景是不是覺得非常厲害..但是python通常不作為工程語言出現。就是正規的軟件生產不使用它。主要用java, c#, xml, c。至於為什麼,這是軟件工程的需要。python不具有完整的語法檢查。

但這也不影響python現在的地位,很多人加入python大軍,因為入門快,簡單,學習成本相對低,他有很豐富的支持庫可以被直接調用以高效地完成不同需求的工作.

要知道,google最早的搜索引擎就是python寫的.

希望我的回答能幫助到你.我是bang-bang ,特長軟件開發.


分享到:


相關文章: