bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

學習Python的建議

2021-03-15    分類: 網站建設

Python是最容易入門的編程語言,沒有之一。如果初學者接觸的第一門語言是C或者C++,對他們來說最難的不是語法,而是容易出現內存泄漏、指針等問題。有時候排查這些問題對初學者的打擊很大,尤其是沒掌握排查BUG技巧時。

如果初學者接觸的第一門語言是Python,學習曲線則會平滑得多,掌握一些基本語法和Python內置的數據結構,已經可以上手寫一些小工具或者小型應用。這對初學者來說,非常重要。因為學習的過程是一個突破舒適區的過程,會面臨很多痛苦,如果學習過程得不到激勵,很容易半途而廢,類似我們開玩笑說的「從入門到放棄」。Python還有很多優點:上手快,第三方庫豐富,資料豐富,很容易做出“可見可得”的應用。比如你要拿C或者C++做web服務,這上手門檻就有點高了。所以很多工科學生,甚至是科班學生會問學了C/C++到底有什么用,因為想上手做一些“可見可得”的應用太難。Python就大不同,你想搞Web開發?上來一個Flask框架立馬就擼。想搞點數據分析?上來一個Panda+數據可視化,擼起來輕松愉快甚有快感。想抓取什么數據?你自己基于request擼一個小爬蟲采集點網站信息,app信息都不是什么難事。

也是因為這樣,學習Python的過程幾乎接近“無痛”,有很好的學習正反饋過程,學一點知識就能做一點小東西,能看得到自己成長和進步。安利了這么多好處,來看看學Python分幾個階段吧。

1.基礎知識

Python最基本的語言特性和語法:

  • 變量
  • 數據類型與數據結構
  • 輸入和輸出
  • 運算符、表達式、語句
  • 控制流(順序控制,選擇控制和循環控制)
  • 面向過程編程
  • 面向對象編程
  • 異常處理
  • 組織代碼
  • 標準庫、第三方庫

針對面向對象這一塊需要重點的講一下,為什么會有面向對象?以及我們如何設計面向對象系統?這個思考的過程有助于你理解面向對象編程思想。

可以說「一切皆對象」這句話普適性是很強的,大家都在玩的王者農藥,里面每一個對戰英雄,每一個野怪,每一張地圖都是通過面向對象的思想構建起來的。如果一開始你覺得太復雜,大可把用「分而治之」的思想把復雜的對象break down,分解成多個簡單合理的對象。任何復雜的系統都可以由若干個簡單可靠的系統組成,多個簡單可靠的系統有序地組織起來是可以實現強大功能的。舉個例子,還拿農藥來說,”英雄“是可以作為一個基類的對吧,每個英雄都有血條,移動速度,AD,AP,物防,法扛等等。李白平A后裔一下,這是對象之間的通信(或者說交互)。后裔放大打中李白,李白眩暈,這一系列的觸發過程都可以通過面向對象來建模。

在掌握了語法特點,掌握了面向對象的思想之后,我們應該能夠在控制臺(windows或者mac的命令行)里邊實現一個有意思的程序。這個程序應該解決現實生活中的一個實際問題。比如出現一個職位的發布和管理系統。有以下功能。我們可以錄入職位信息。保存到文件上。我們還可以加載職位信息。按多種條件去查詢,比如按關鍵字按城市。按薪資范圍。按商圈工作年限等等。

在做這個的過程中,自己需要設計一個很好的面向對象系統。也把Python里常用的語言基本特性都用到了。達到這個階段算是勉強及格了吧,不過僅僅是在語言掌握層面。如果想當一個合格的研發工程師,還需要掌握很多其他技能。

2. 進階的階段

現在的開發大部分是基于web的,比如app要調web接口,pc端肯定也要調web接口,所以我們不能光在控制臺里面玩。這個時候需要了解,http協議和Python web開發。我們可以重做前面提到的求職發布系統,學習基于Python web如何實現。這個時候你需要實現若干個接口:

用戶端:

  • 用戶注冊
  • 用戶登錄
  • 請求首頁刷出默認的職位列表
  • 篩選職位列表

    • 根據城市
    • 根據關鍵字
    • 根據薪酬
    • 根據工作商圈

管理后臺:

  • 登錄
  • 發布職位
  • 更新職位
  • 刪除職位

為了實現以上接口,你需要弄清楚什么是GET,什么是POST請求,什么場景下用GET,什么場景用POST。你還需要明白一個Python web開發框架,要明白一個http請求到了web框架之后,框架做了什么事情,如何在里面實現業務邏輯。哪些數據是服務共享的,哪些數據是用戶/請求獨享的。

此外,應該學會Python如何操作數據庫實現增刪改查,大部分的任務都離不開增刪改查。比如我提到的發布職位就是create的過程,更新就是update,還有刪除是delete,讀是read。江湖有一個戲稱CRUD boy。

如果能順利度過進階階段,你應該能舉一反三實現其他類似系統了。比如現在很火的分銷,拼團,還有新聞Feeds等等。

好像我沒怎么提數據結構和算法,這個要看個人追求。如果你要在最短時間內學會Python開發,恐怕是沒時間學好數據結構和算法了,能掌握自帶的數據結構用法就行。如果你的學習時間充足,我的建議是一定要學數據結構和算法。為了以后長期的發展,為了人民幣,一定要學好數據結構和算法,我簡直苦口婆心地勸啊。

3. 工業界經驗

最后一個階段是實際的工業經驗。這個階段,你應該對公司用的基礎架構,如RPC,數據庫緩存消息系統中間件,爛熟于心。同時應該掌握最基本的系統設計的技巧。知道如何根據一個實際需求,設計一個高可用,高性能高擴展性的系統。

實際上我覺得第一個階段是最容易的,第二個階段會碰到一些坑,有時候不好解決。在第二個階段,你可能需要比較好的自學能力,或者有一個好的學長導師。第三個階段需要比較體系化的訓練和思考。

如果說你的系統設計能力ok,甚至經驗豐富,再加上你不錯的算法,你肯定有一份好工作,薪資可能說多了顯浮夸,但優秀的應屆生很多人超過30w,甚至50w已經是常態了。工作3-5年的過百萬的也大有人在。

這個時代,程序員雖然辛苦了一點,但無疑碰上最好的時代了。

PS:辛苦是因為知識更新很快,行業發展也很快,逼著程序員也要往前走。保持學習才是從業者的基本素養,而不是掌握某門語言某門技術。

當前文章:學習Python的建議
文章鏈接:http://vcdvsql.cn/news3/105253.html

成都網站建設公司_創新互聯,為您提供網站導航網站建設虛擬主機品牌網站制作商城網站微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設