寫給.NET開發者的Python教程(一):引言
阿新 • • 發佈:2020-06-28
距離上一篇博文已過去8個月了,這段時間發生了很多事情導致沒能持續更新部落格。這段時間除了工作繁忙,業餘時間都投入到AI技術的學習中,後面一段時間將會給大家分享我作為一個.NET開發人員在深度學習領域學習的收穫和成果。
《寫給.NET開發者的Python教程》這個系列是第一個想和大家分享的內容,主要是從C#角度學習Python,希望能給.NET開發者們掃清AI學習的第一個攔路虎。所有的教程都會以AI開發的必備的Jupyter Notebook環境編寫和提供給大家。
之後的系列會給大家分享如何從頭開始使用深度學習框架從頭訓練AI模型和打比賽的做法和經驗。
為什麼學Python?
學習Python不是鼓勵大家拋棄.NET平臺轉向Python,而是為了讓大家能夠在這個AI當紅的年代,能對新的技術領域有所瞭解,甚至多掌握一門手藝。於我而言,學習Python的理由有幾個:
- 學習AI技術。雖然AI領域能夠使用很多語言和平臺(如R語言、ML.NET),但目前最主流的方式是使用基於Python的AI框架,例如PyTorch和Tensorflow。大多數AI庫和開源專案都基於Python,業界開發和部署AI模型也大都使用Python。
- 擁抱新語言。學一門新語言可以開拓視野,增加解決問題的靈活性。有個朋友每年都會學習一門新語言,這一點非常棒。學習新東西可以保持對技術的熱情和新鮮感,不同的語言和平臺各有千秋,擅長不同領域,能夠成為一個多面手對我們的職業發展大有裨益。
- 提升競爭力。對於.NET開發者而言,我們會越來越多遇見專案中整合AI技術的場景,學會Python有助於我們瞭解AI技術方案,更好的參與AI方案的開發、整合和部署。舉個例子,目前主流的AI服務託管方案都是講AI模型部署為Web服務,然而Python的諸多Web框架效能和併發能力都不如ASP.NET Core,如果能採用ASP.NET Core作為Web服務,本機通過ML.NET或TensorFlow.NET呼叫AI模型或許會是更好的選擇。
根據StackOverflow 2020年的開發者報告,Python仍舊是近幾年開發者最想學習的語言:https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-wanted
系列內容規劃
《寫給.NET開發者的Python教程》主要會以C#和Python語言特性對照的方式,為大家介紹Python的語法,每一行Python程式碼都會有C#的對照例子。同時對於Python的類庫和框架的使用,也會提供.NET對照的介紹,為大家提供一份簡明概要的指引教程。
《寫給.NET開發者的Python教程》系列博文的規劃如下:
- 引言
- C# vs Python:語言特性、Conda和Jupyter Notebook環境
- 基本型別和變數
- 運運算元、條件判斷和迴圈語句
- 資料結構
- 函式和麵向物件
- 模組、包和庫
- 常用功能:檔案、時間、字串、Json&XML序列化和反序列化
- 機器學習神器:Numpy、Pandas、Pillow和Matplotlib
最後,這個系列的更新頻率暫定一週一節