首頁>Club>
6
回覆列表
  • 1 # HELLO開源

    由於Python的簡潔 易讀 強大 高效 現在Python應用在檔案處理、網路程式設計、資料庫程式設計、遊戲、Web開發、資料分析、機器學習等各個領域。

    就Web開發而言,為了提高開發效率,應運而生了很多後端開發框架,如Django、Flask、Tornado、Web2py等。

    框架很多,根據業務需求、選擇適合的框架。

    1、Django

    最早接觸Django,在我心中的形象是:Web框架界的變形金剛

    Django的MVT架構、自帶ORM、強大的Admin後臺管理、自帶資料庫、還自帶開發測試用的伺服器、不得不說服務周到。

    如此大而全,重量級的Django給開發者提供了超高的開發效率。

    淌著Python血液

    MVT三大輪子 連線瀏覽器 資料庫開跑

    一身裝備 可變形 可擴充套件

    多領域 跨平臺 協調作戰

    自我測試 自我管理 自我保護

    友好 開放 國際化

    裝備很多:使用者認證 快取 日誌 郵件 組織 分頁 訊息 序列化 會話 網站地圖 靜態檔案處理 資料驗證Django支援第三方擴充套件:

    比如:富文字編輯器 快取 全文檢索 celery等

    Django專案佈署 用nginx做靜態資源代理、負載均衡 可以提高高併發能力。

    一些Web專案開發 無論使用者量、服務群體、上來總談高併發。沒使用者 天天愁高併發問題 還沒解決也許專案已經黃了。

    專案有了、業務有了、使用者有了、效能最佳化、高併發順勢解決嘛。

    當然一些大型網站,在高效能的要求下,框架的各個部分往往都需要自己定製,這樣用Django也就沒有太大優勢。

    2、Falsk

    相較於Django ,Falsk屬於輕量級Web框架,也稱‘microframework’。

    Flask一個簡單的核心,基於Werkzeug WSGI工具箱和Jinja2 模板引擎。其他功能開發者根據業務需求 與喜好 新增。

    如此 Falsk 自由、靈活、可擴充套件性很強。很適用於開發小型應用、開發大型網站也沒有壓力,自己設計架構、選擇合適第三方擴充套件,各方面效能完全不輸Django。

    常用拓展包:wtf、sqlalchemy、login、script、migrate、mail

    3、Tornado

    傳說中實現高併發、高效能的框架。Tornado的全稱是Torado Web Server,可用作Web伺服器,同時也是一個Python Web的開發框架。

    Tornado兩大核心模組:

    iostream :對非阻塞式的 socket 的簡單封裝,用來處理 socket 的非同步讀寫ioloop :核心的 I/O 迴圈。基於 epoll,可以高效的響應網路事其作為Web框架的主要模組web:包含了 Tornado 的大多數重要的功能escape :XHTML, JSON, URL 的編碼/解碼方法template :基於 Python 的 web 模板系統httpserver : 非阻塞 HTTP serverhttpclient : 非同步 HTTP client 用來和web 及 httpserver 協同工作auth :第三方認證的實現locale:針對本地化和翻譯的支援等等Tornado 走的少而精的路子,除了Web開發需要的基本模組,剩下的則都需要開發者自己擴充套件。比如需要ORM支援,那自己來擴充套件Python 後端的web框架很多,在於精通。選擇適合自己的,開始搞起來。我做專案用的多的還是Django,不自己重複造車輪子嘛。

  • 2 # 藍耘科技

    這個還是要看你主要想要往哪個方向發展,現在比較流行的就是web開發和爬蟲。

    但是題主的問題是:學習Python需要掌握哪些技術?這個問題包括的東西就太多了。

    隨著大資料、雲計算、人工智慧等科技的興起,帶動了Python的快速發展,相比於C語言等程式語言,Python學習更簡單,具有豐富和強大的庫,僅需簡單的程式碼,就能夠實現各種強大的功能。對於Python的學習人員需要掌握以下技術。

    網路程式設計。網路程式設計在生活和開發中無處不在,哪裡有通訊就有網路,它可以稱為是一切開發的"基石"。對於所有程式設計開發人員必須要知其然並知其所以然,所以網路部分將從協議、封包、解包等底層進行深入剖析。

    2. 爬蟲開發。將網路一切資料作為資源,透過自動化程式進行有針對性的資料採集以及處理。爬蟲開發專案包含跨越防爬蟲策略、高效能非同步IO、分散式爬蟲等,並針對Scrapy框架原始碼進行深入剖析,從而理解其原理並實現自定義爬蟲框架。

    3.Web開發。Web開發包含前端以及後端兩大部分,前端部分,帶你從"黑白"到"彩色"世界,手把手開發動態網頁;後端部分,帶你從10行程式碼開始到n萬行來實現並使用自己的微型Web框架,框架講解中涵蓋了資料、元件、安全等多領域的知識,從底層瞭解其工作原理並可駕馭任何業內主流的Web框架。

    4. IT自動化開發。IT運維自動化是一組將靜態的裝置結構轉化為根據IT服務需求動態彈性響應的策略,目的就是實現減少人工干預、降低人員成本以及出錯機率,真刀真槍的帶你開發企業中最常用的專案,從設計層面、框架選擇、靈活性、擴充套件性、故障處理、以及如何最佳化等多個層面接觸真實的且來源於各大網際網路公司真實案例,如:堡壘機、CMDB、全網監控、主機管理等。

    5. 金融分析。金融分析包含金融知識和Python相關模組的學習,手把手帶你從金融小白到開發量化交易策略的大拿。學習內容囊括Numpy\Pandas\Scipy資料分析模組等,以及常見金融分析策略如"雙均線"、"周規則交易"、"羊駝策略"、"Dual Thrust 交易策略"等,讓夢想照進現實,進入金融行業不再是個夢。

    6. 人工智慧+機器學習。人工智慧時代來臨,率先引入深度機器學習課程。其中包含機器學習的基礎概念以及常用知識,如:分類、聚類、迴歸、神經網路以及常用類庫,並根據身邊事件作為案例,一步一步經過預處理、建模、訓練以及評估和參調等。人工智慧是未來科技發展的新趨勢,Python作為最主要的程式語言,勢必有很好的發展前景,現在學習Python也是一個很好的機會。

  • 3 # 傳智匯IT

    1. Python超程式設計

    可以透過多看一些優秀開原始碼來學習,比如sqlalchemy,gunicorn等。

    2. Cython

    不是CPython直譯器,而是一種用python語法生成C extension的工具,常被用於解決各種效能問題,也常見於各種開源專案。

    3. C

    Python用的多了你會發現,本質上解決更深層的問題,C是逃不了的(比如看一些Python底層庫的實現,原始碼分析等)。推薦一本不錯的書《Python原始碼剖析》,當然,沒有C基礎你是看不了的,這就是為什麼說C很重要。

    4. PEP8

    不知道你的Code Style怎麼樣,但作為一個優秀的Python工程師,標準還是要熟悉一下的。這方面也不會花很多時間。

    5. Design Pattern以及Python中對應的實現方法

    建議找一本Java的書,因為講的最好,建議自己動手寫Python,因為這樣才記得住。

    6. 學院派:《編譯原理》《計算機網路》《資料結構與演算法》

    當然,很多人認為這些沒有用,我也並不想跟你們爭論。

  • 4 # 安界

    對於Python的學習人員需要掌握以下技術

    網路程式設計。網路程式設計在生活和開發中無處不在,哪裡有通訊就有網路,它可以稱為是一切開發的"基石"。對於所有程式設計開發人員必須要知其然並知其所以然,所以網路部分將從協議、封包、解包等底層進行深入剖析。

    2. 爬蟲開發。將網路一切資料作為資源,透過自動化程式進行有針對性的資料採集以及處理。爬蟲開發專案包含跨越防爬蟲策略、高效能非同步IO、分散式爬蟲等,並針對Scrapy框架原始碼進行深入剖析,從而理解其原理並實現自定義爬蟲框架。

    3.Web開發。Web開發包含前端以及後端兩大部分,前端部分,帶你從"黑白"到"彩色"世界,手把手開發動態網頁;後端部分,帶你從10行程式碼開始到n萬行來實現並使用自己的微型Web框架,框架講解中涵蓋了資料、元件、安全等多領域的知識,從底層瞭解其工作原理並可駕馭任何業內主流的Web框架。

    4. IT自動化開發。IT運維自動化是一組將靜態的裝置結構轉化為根據IT服務需求動態彈性響應的策略,目的就是實現減少人工干預、降低人員成本以及出錯機率,真刀真槍的帶你開發企業中最常用的專案,從設計層面、框架選擇、靈活性、擴充套件性、故障處理、以及如何最佳化等多個層面接觸真實的且來源於各大網際網路公司真實案例,如:堡壘機、CMDB、全網監控、主機管理等。

    5. 金融分析。金融分析包含金融知識和Python相關模組的學習,手把手帶你從金融小白到開發量化交易策略的大拿。學習內容囊括Numpy\Pandas\Scipy資料分析模組等,以及常見金融分析策略如"雙均線"、"周規則交易"、"羊駝策略"、"Dual Thrust 交易策略"等,讓夢想照進現實,進入金融行業不再是個夢。

    6. 人工智慧+機器學習。人工智慧時代來臨,率先引入深度機器學習課程。其中包含機器學習的基礎概念以及常用知識,如:分類、聚類、迴歸、神經網路以及常用類庫,並根據身邊事件作為案例,一步一步經過預處理、建模、訓練以及評估和參調等。人工智慧是未來科技發展的新趨勢,Python作為最主要的程式語言,勢必有很好的發展前景,現在學習Python也是一個很好的機會。

  • 5 # SmartLiu

    1.需要精通C語言。

    2.多研究一些庫函式。

    3.多執行一些開原始碼Debug模擬執行一下。

  • 6 # 小知PHM

    Python最大的特色是資料科學這個方面,如果想從事Python後端開發,我列一下知識點,供你參考:

    1.首先,Python基礎

    2.Python網路爬蟲(用於採集資料)

    3.Python資料分析(對資料進行處理),這裡也包括了Python視覺化的知識。

    4.Python機器學習(用於建模,訓練資料,預測等)。

    6.Python深度學習(這是現在新興的人工智慧領域非常火,非常重要的知識)

    7.Python強化學習、自然語言學習(這些都是人工智慧領域的重要知識)

    Python後端的主要方向就是上面列出的知識,希望對讀者朋友有借鑑作用。

  • 7 # 程式設計圈子

    題主的問題是比較明確的,要從事python後端。雖然python可以做很多事情,比如大資料分析、爬蟲、機器學習、人工智慧,但我們理解狹意上的後端,主要指的是WEB專案後端。其特點:主要工作就是資料庫的增刪改查。下面主要從python自身需要學習的技術和python後端開發需要用到的其它技術作分析介紹。

    一、python 技術

    python 開發環境搭建、IDE使用

    python 的第三方模組安裝方法

    python 語法、變數(字串、數字、列表、字典等)

    python 模組、類(多型、封裝、繼承、介面、基類等)、物件、函式、屬性等的定義與使用

    python 類的初始化、類匯入、模組匯入

    python 檔案讀寫

    python 多執行緒

    異常處理

    測試類

    GUI(後端可能用不到)、輸入與輸出

    python 自帶的基礎模組,如os、sys、time

    第三方庫,如:資料視覺化

    python 對資料庫(主要mysql)的控制

    python 後端框架,如:Flask

    日誌處理

    如果做 tcp/udp開發,還需要學習:

    網路模組,socket

    二、其它技術

    HTML、JavaScript基礎

    JSON語法與使用

    python程式部署

    資料庫使用(通常用mysql)

    快取的使用

    正則表示式

    另外的像爬蟲、機器學習啥的就不在這裡介紹了。

  • 中秋節和大豐收的關聯?
  • 水產品如何檢疫?