作為一名研究生,除了可以用python寫各種算法之外,還應該如何提高自己的python水平?

扈煬


Python當中學到了算法這個部分,我們就要考慮進階或者是提升。簡單的說一下,Python的進階流程:瞭解基本語法--->熟練使用常用的庫--->Pythonic--->高級玩法--->看透python的本質;

Python的使用範圍:

  • Web Programming: Django, Pyramid, Bottle, Tornado, Flask, web2py

  • GUI Development: wxPython, tkInter, PyGtk, PyGObject, PyQt

  • Scientific and Numeric: SciPy, Pandas, IPython

  • Software Development: Buildbot, Trac, Roundup

  • System Administration: Ansible, Salt, OpenStack

可以從上述的使用範圍來選擇深入學習。在Python中文開發者社區可以看到,論壇當中有很多適合提升水平的文章和項目。

推薦書籍:

英語水平過關的話建議看英文原版的,中文翻譯的會有寫偏差。這本書給出了很多代碼的方法和規範。並且作者的理念是把代碼當成寫文章。第一章開篇就是教我們代碼的整潔;第二章的內容是體現本意的命名能讓人更容易理解和修改代碼;後面還有函數、註釋、格式等等的;

如果只是要了解的話,看前面幾張就夠了。但是書中比較有價值的部分,在於進行重構的時候很多細小的步驟。看這本的話,網上也是有電子版本,並且在各大IT論壇當中有很多人寫讀書筆記。

提高算效率的技巧

(1)想量化的操作(可以參考書籍《利用Python進行數據分析》)

(2)廣播機制(可以參考書籍《Deeplearning深度學習筆記》)

(3)多線程多進程

GIL(全局解釋器鎖)它讓python的多線程無法充分利用多核的優勢,但是對於I/O操作頻繁的程序,利用多線程帶來的優勢還是非常明顯的。


傳智播客


如題,作為一個研究生,你用Python寫算法,我覺得你應該是想往大數據,人工智能方面發展。

Python這些年隨著大數據人工智能的大爆發也變得流行起來,你想再提升自己Python的水平,我覺得你可以從以下著手!

分佈式計算框架spark

Apache Spark是一個計算速度快,易用,支持複雜分析的大數據處理框架,大有取代mapreduce之勢。

Python雖說在機器學習和人工智能方面有極好的應用,但是Python有一個大缺陷,不支持分佈式計算,但是不要緊,spark提供了極好的Python接口Pyspark,藉助他,Python在分佈式計算、流計算方面有了極大提高。

另外,spark的核心RDD彈性分佈式數據集和Python中pandas中的DataFrame十分相似,可以十分方便的相互轉化。所以說spark讓Python有了分佈式處理大數據集的能力。

web後端

Python有十分多的強大的web後端框架,如Django,flask等,學習這這可以鞏固Python的基礎,又會使用到Python的高級用法,如裝飾器,類及魔法方法,數據庫等。

學習spark和web後端的優勢

你不可能一直在單機上使用模型,你可能會在大數據框架和網站來部署模型,這需要你瞭解後端和分佈式計算,學習這兩方面,既能提升Python水平,也能讓你在日後的大數據和人工智能領域如虎添翼。


愛數據的小司機


  1. python

    最接近人類的語言,學習起來特別容易上手。只會一門語言是不夠的,會影響對編程語言的理解。在研究生階段最好再入門Java或者C,有比較,更易理解Python語言的編程思想,語言的優劣。筆者就是寫過一段時間Python,工作需要用了一段時間Java,再回過頭用Python,領悟許多。
  2. 看優秀Python包的源碼,建議看Google或者其他的大廠的開源小Python項目,看了不同人的代碼風格才知道自己差距在哪。然後,根據實際嘗試寫一個包發佈到

    pypi.org

    。動手做才能看到忽略的細節。

  3. Python寫算法,基本上的意思是會調機器學習的scikit-learn、深度學習的TensorFlow等。這些不能幫助理解一門語言的核心思想。建議嘗試用Python寫一個web項目,做做網頁或者寫寫接口。會做一個服務是日後工作的必修課。

  4. 最後一條也是最重要一條:學會使用PyCharm,按住“Ctrl”或"Command"後,點擊函數,進入代碼內部查看。


PythonCoder


除了用Python來寫算法之外,還可以用Python來來做web開發,網絡爬蟲,數據清洗,以及人工智能等。

至於怎麼樣提高自己的Python水平?給自己規劃一條學習路線,然後進行系統的學習,然後出去工作或者是自己接一些項目來做,通過做項目的方式來提升自己,畢竟做項目是綜合知識的應用。

瞭解過“如鵬網”的Python學習路線,可以作為參考,基本上都是慕名而去的。

1、Python基礎

2、數據庫開發

3、web前端

4、Python web開發及企業項目實戰

5、Linux

6、NoSQL

7、數據可視化

8、網絡爬蟲

9、人工智能


玩著學編程


作為研究生 用python的工作主要是數據分析崗位

對數據崗來說 除了算法模型之外 還需要的技能有

1 大數據工具

學會hadoopbspark這些大數據的工具的使用 這是海量數據處理的必備技能

2 工程接口

為了和其他團隊協作 需要熟悉restful api和一些簡單的服務器後臺的開發經驗 還有自動化部署測試的經驗 尤其是測試這塊 數據崗的測試和開發崗的測試內容完全不一樣 不僅僅是功能流程正確 還有邏輯和決策是合理 這是不瞭解數據的測試做不到的

3 本行業的數據洞察力

除了學習模型 數據分析師還需要補充行業相關的知識 這樣才能對業務上的數據有比較好的理解 這樣才能選擇和設計正確的模型去做分析決策


魔數思


研究生應該會寫很多論文吧,可以針對自己所學到的技術知識,外加查詢一些文獻等等,可以向一些媒體機構投稿,一是可以賺取一些稿費,還有就是對自己的畢業答辯或者以後的就業都是很有幫助的。

平時可以寫寫自己的博客,在博客上不僅可以學到很多大神的技術,還能通過寫博客,提升自己的技術。

如果有足夠的野心,Python的應用範圍是很多的,比如Web應用開發,自動化運維,網絡爬蟲,大數據分析,圖像處理,科學計算,遊戲,桌面軟件,人工智能等等

有條件的話,可以開始接觸一些實戰項目,在實戰中提高自己的技術水平!


碼農視界


除了學習算法,也可以學習做界面,做爬蟲,做工程,比如做一個網站,基於爬蟲進行信息聚集,加工挖掘,然後展示給用戶,也可以挖掘做產品,多看看github成熟的項目,看看python和大數據的集成


分享到:


相關文章: