怎樣學好python?

且聽蟲吟


假如從來沒有學習過編程語言,就要從最基礎的學習。在學習編程語言之前,最好粗略的瞭解一下編程語言的發展。如何從機器語言發展到彙編語言,彙編語言發展到高級語言,然後還有編譯程序和解釋程序的區別等等。有了這些基礎性的知識之後,才能從整體上把握編程語言。



1建議還是從c語言開始學習。雖然直接學習python語言也可以,但是還是建議從基礎的c語言學起。學習了c語言之後才能知道一些基礎性的東西,比如指針啊,地址啦什麼的。然後很多語言是相通的,學習了c語言,學習python語言就比較簡單了,語法了什麼的基本上都差不多,只是python要靈活多。



2要購買到合適的書籍。市面上關於python的書越來越多,魚龍混雜。有些python書你看了之後都不知所云。完全都是拼湊出來的,這本書抄一抄那本書抄一抄,然後就形成了一本書。我是從python核心編程第二版這本書入門的。這是一本翻譯過來的書,我覺得學的不錯,非常適合入門。



3自己看書,學習的效率比較低,可以在淘寶上找一些便宜的課程。然後根據視頻講解進行學習,老師講在哪書就看到哪。還有一點要特別注意,對於書中的例子,無論她看起來多麼簡單,你都要親手去試一試。否則的話很容易忘記的。



4在談一談入門之後做什麼。瞭解了基本語法之後,最好學一些框架,比如django flask等等.然後結合自己的實際工作,做一些小的項目,比如寫個爬蟲程序,把自己擁有的數據進行機器學習。用python整理自己的資料等等。要學以致用,通過需求來推動學習。



python現在的重要性毋庸置疑。已經超過c++,成為全球排名第三的編程語言僅次於java和c。python在大數據雲計算機器學習等方面都表現出了先天的優勢,語法簡單明確接近人類的思維,等等各種優勢。


Geek視界


看的書太多,想來想去,不知道給題主推薦什麼書,後來看到一本英文書,終於想起來,有一本書是入門Python的唯一,而且是最佳的選擇。

零基礎

這本書的名字叫《Learn Python The Hard to Ruby Way》,中文譯名:《“笨方法”學Python》,這本書可以說是經典中的經典。


該書作者為Zed A.Shaw,這本書在全世界擁有數百萬的讀者,非常適合作為對計算機瞭解不多、沒學過編程入門書籍。這本書以習題的方式,引導讀者一步一步學習編程,從簡單的打印一直講到完整項目的實現,最終體驗到軟件開發的基本過程。

模塊、類、對象,這些能讓初學者發狂的名詞,都被分化為更為具象的東西,每個知識點後都有一些“小任務”和常見的問題解答,因此,這本書對初學者特別友好。

有編程基礎

對於有其他計算機語言基礎的人來說,看《“笨辦法”學Python》可能有些難受,我個人推薦看《Python核心編程》。

這本書同樣是Python很經典的指導書,全書第一部分佔據了大約三分之二的篇幅,在講這門語言的核心內容,包括概念、語句、語法、風格、對象、數字類型、序列類型等等等等,第二部分則提供各種高級的主題展示Python可以做些什麼,包括正面表達式、網絡編程、網絡客戶端編程、多線程編程等等。

個人建議

學計算機語言,個人建議零基礎的同學,不要一直看書。以《“笨辦法”學Python》為例,你可以先把整本書看一遍,而不做任何的實際操作。當你看完一遍之後,你對這門語言已經有了大概的瞭解,而後第二遍進入實戰階段,邊看書,邊練習。最後再找幾個小項目練手,這樣一來就完成了整個Python的入門了。

——摘自W3Cschool學員的回答。


編程獅APP


首先確定的是算法比語言重要。語言只是算法的一個工具而已。據說很多老教授還在用古老的Fortran語言來研究算法,從側面證明了這一點。打個不精確的比方,算法算是理論,語言算是實踐的工具,光有理論,沒有實踐,肯定有問題。所沒必要這麼較真,到底是算法重要還是語言重要,相對而言,算法更通用重要,而編程語言有上百上千種。


再講如何學好Python:

Python是一門學習曲線相當不陡峭的語言,即簡單易學但很難精通。有編程基礎的人,花幾個小時,把語法部分耍法,就可以上手敲代碼了。但要精通Python, 需要更長的時間(甚至有些人後續都沒有意識想去精通它,認為python不過如此,我已經掌握的差不多了)


語法部分就不用說了,自己看python的官方手冊或者查本熱銷書直接去翻就行了。

1. 兩個基礎工具必須掌握: ipdb用來命令行調試(單步執行、設置斷點等), pylint是用來掌握python規範的, 比如

  • 如果一個函數的定義,寫得特別臃腫,pylint會警告你,這時候你的想辦法將函數拆分

  • 如果你得代碼有重複的片段, pylint會警告你將代碼抽象成一個通用函數


2. 多用單元測試, 比如pytest和unittest模塊, 驗證自己代碼每個函數等的正確性(可能開始覺得很繁瑣沒必要,但稍微大點的工程都需要unittest, github上大型的python項目,都有單元測試)


3. 剛開始不建議用notebook。python本來就曲線就不陡峭,你再用python notebook,就更平坦了,還分散精力。等你熟練到一定程度時,可以嘗試notebook, 但我覺得還是命令行(Linux)的爽~


後期想繼續深入的話:

  • 結合數據結構算法,讓你的代碼運行起來風馳電掣(快)

  • 學習設計模式和OOP, 讓你的代碼變得優雅健壯(雅),讓人讀起來心曠神怡 (這個決定了別人看你代碼的印象,或者是一坨S, 或者是一縷清風)

  • 結合自己的專業領域,比如數據庫、Web、Machine Learning等等,用實際項目去實踐



平凡科技


首先學習python一定要以實用性為導向!


盲目看教程,結果大多是淺嘗輒止,從入門到放棄。


我想告訴你我的經驗,如何在一個月內入門python!

1、【why】 你為什麼要學習python?


爬蟲?數據分析?機器學習?又或者其它?


在找一本python教程準備啃之前,一定要問問自己,我為什麼要學習python?


python在近幾年越來越受追捧,很多童鞋或者職場小夥伴想要提升技能-學習python。這是非常好的事情,但問題在於很多人不知道學python做什麼,所以什麼零碎細末、艱難晦澀、長篇大論的都去看,很容易陷入學不下去的困境。必須要有針對性、選擇性地學!


針對性學習宗旨是按需去學,學以致用。


想成為木匠,才去學習用刨子、用車床,一個磚瓦匠就沒必要瞎費這功夫。同理,當你對網絡爬蟲感興趣,並且有爬一個網頁的衝動,這時候去學python是最容易上手的。


我是做數據分析工作,學python的初衷是想利用python強大靈活的數據分析能力。

python做數據分析對語法的要求並不高,只要能理解基本的邏輯結構、數據類型、數據結構、運算符、函數、庫,就可以運用到實際項目裡。所以我就沒必要花很大功夫在諸如類、web編程、模塊、線程等數據分析不常用的功能上面,如果真遇到這些內容,我再去查資料搞清楚。


2、【what】選擇什麼樣的教程學?


在明確自己為什麼學python後,要選擇合適的書籍教程。不可否認,市面上已經有太多python入門書籍,以及更多的網絡教程。我只推薦給大家python官方文檔,不久前該文檔已經漢化,大家可以很方便的去學習最新最全的python知識。如果你有能力閱讀英文文檔,那就選英文文檔,畢竟第一手的內容更專業。


當然,官方文檔知識點太多,初學者很難找到要學的內容,這時你需要查查各個專業領域的python要求。


如果你是要準備從事數據科學,不妨去kaggle數據科學微教程看看,裡面會講到數據科學需要的python知識,然後對照著一個知識點一個知識點地啃python官方文檔。



如果你要做爬蟲工作,不妨在網上買一本評分高的python爬蟲書籍,一般來說裡面會有python基礎部分,同理你只要在官方文檔裡找這部分知識學習。


針對性地在官方文檔裡學習python知識,不僅節省時間,而且你會發現更容易理解,因為你是帶著問題去學習的。


3、【how】怎麼去學習python?


其它回答裡也提到了在重複練習中學習python,這點我是非常認同的。輸出是最好的輸入,編程語言雖然注重邏輯,但更需要學習者不斷地動手敲代碼。


從一開始,你要學會如何搭建python環境,選擇什麼樣地開發環境(IDE)。這些都可以去網上查,慢一點的折騰兩三天,快一點的一天不到就能搞定。總之,這是學習python的第一步,也是練習的開始。


對於官方文檔的每一段代碼,我建議都動手親自敲一遍,比如你看到字符串這一節,在理解了字符串定義後,文檔會給出示例代碼和運行結果:


照著示例代碼,在你的編程環境中實踐,千萬不要複製黏貼,對自己的火眼精金過度自信並不是一件好事。


4、【when】如何制定時間學python?


學習python切忌拉很長戰線。制定的計劃時間越長,人的惰性、拖延就會冒出來。


我的建議:

  • 制定5~8周的學習計劃
  • 一週學習5天
  • 每天3小時左右


理由是:

  • 時間不長1~2個月,比較容易堅持
  • 符合一門大學課程的學習週期
  • 短時間高密度的學習有利於形成知識的連貫性,對python理解也會更加深入


當然,這中間需要監督機制,你可以在社交平臺打卡,可以制定自己的學習課程表,也可以和朋友一起學習。


結合網上資料和python官方文檔,整理一份30天python 學習計劃,供大家參考。

第1天

  • Python簡介 - Python的歷史 / Python的優缺點 / Python的應用領域
  • Python環境搭建 【參考資料】

第2天

  • 使用python解釋器 【參考資料】
  • 關於python語法的簡單介紹 【參考資料】

第3天

  • 詞法結構
  • 運算符和表達式 【參考資料】

第4天

  • python數據結構 列表/字符串/元組【參考資料】

第5天

  • python數據結構 字典/集合 【參考資料】

第6天

  • python流程控制1【參考資料】
  • if語句
  • for循環
  • while循環

第7天

  • python流程控制2【參考資料】
  • continue語句
  • break語句
  • pass語句

第8~9天

  • 格式化字符串
  • 讀寫文件【參考資料】

第10~12天

  • python函數 【參考資料】
  • Lambda 表達式
  • 編碼風格

第13天

  • python模塊 【參考資料】

第14天

  • 迭代器
  • 生成器
  • 生成器表達式

第15~16天

  • 錯誤和異常【參考資料】

第17~19天

  • 面向對象編程 【參考資料】

第19~20天

  • 標準庫使用 【參考資料】
  • 日期和時間
  • 數學
  • 操作系統接口

第21天

  • 安裝 Python 模塊

第22~23天

  • 虛擬環境和包

第24天

  • 多線程

第25~30天

  • 訓練題

Python課堂


不少人在學習編程語言的過程中都會遇到類似的問題,在學習的初期會有巨大的學習熱情,隨著學習的逐漸深入和難度的提升,往往會遇到學習瓶頸,此時不少初學者就會選擇放棄,也有不少人在學習編程的過程中反覆經歷了多次類似的情況。

要想解決持續學習的問題,需要從以下幾個方面入手:

第一:制定一個系統的學習計劃。學習編程一定要有一個系統的計劃,以Python為例應該選擇一個方向來制定學習計劃,可以選擇Web開發方向、大數據開發方向、機器學習開發方向等等,不同方向需要掌握不同的知識結構。學習計劃應該結合長期計劃和短期目標,短期目標的不斷完成能夠給初學者必要的信心和鼓勵,這在學習編程的過程中也是比較重要的。

第二:注重動手能力的培養。學習編程和學習其他方面的知識,比如數學等基礎學科有明顯的不同,學習編程一定要注重動手能力的培養,通過實驗不僅能驗證各種抽象概念,更能夠通過實驗鍛鍊自己的編程能力。學習編程一個重要的步驟是培養自己的編程思維,而培養編程思維的關鍵就是大量的功能性實驗,不斷通過總結實驗從而建立編程思維。

第三:注重交流。對於初學者來說,隨著學習的深入,一些概念在理解上會存在一定的困難,如果通過自主實驗不能完全理解的時候就需要尋求別人的幫助了,此時就需要跟有經驗的程序員進行交流,交流的過程也是學習的過程。交流的途徑有很多,比如編程語言的開發社區就是不錯的交流場所之一。當然了,如果身邊有能隨時進行交流的專業人士,那麼會節省大量的學習時間。

如果在學習完基本的語法之後,能夠參加一個項目組的實習,則會對掌握編程語言有較大的幫助。

最後,Python語言在近幾年隨著大數據、機器學習的發展而得到了廣泛的應用,目前Python也被列入到嵌入式開發語言中,因此Python的應用前景還是非常值得期待的,所以學習Python是個不錯的選擇。

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

如果有互聯網方面的問題,也可以諮詢我,謝謝!


IT人劉俊明


很高興能回答你的問題

學習python從基礎開始。

第一,可以購買《python編程從入門到實踐》這本書籍。

如果你是一個非軟件專業的人士,想學習python語言,那麼我建議你購買這本書,這本書很詳細的介紹了關於python的數據類型、基本的使用方法,而且還有python2和python3的區別!當然現在python3更熱門一點。因為python2已經沒有更新庫支持了。

第二,基礎打好後,我們可以學習python爬蟲。

現在是信息化時代,而過多的信息儲備讓我們眼花繚亂,那麼我們可以學習爬蟲,將網絡內容爬取下來,作為自己的素材。爬蟲中會了解到HTTP協議、網頁結構、js渲染、框架學習等等。我自己也買了一本相關的書籍---《python3網絡爬蟲開發實戰》

這本書,講解了很多關於爬蟲的庫,比如說:Scrapy框架、spider、selenium、re等等還有一些爬蟲的方法。這本書可以說學會以後,可以達到一個爬蟲中級水準。做到沒有內容是爬不到的。但python僅僅是爬蟲嗎?

第三,使用python數據分析

我們都知道python是開源的,那麼我們可以去python官網進行查閱學習,可以學習到很多東西,包括之前沒有說的web框架開發等。

而數據分析需要了解熟悉numpy、scipy、pandas等等,如果你搜索的網頁是英文的,那麼我教你一招如何換成中文的,方便閱讀!可以用谷歌瀏覽器打開瀏覽,該瀏覽器自帶翻譯功能,可以將英文翻譯成中文。

第四,使用python進行機器學習

機器學習入門就需要學習,高數、線代、概率論,讀過大學的基本對這些問題不大。那麼哎,接下來,我們就需要了解機器學習的十大算法。我這裡有機器學習十大算法教學視頻,是我自己報的班課錄製的!目前自己也在學習過程中。而且python官網也有一些關於skt-learn文檔可以進行簡單學習認識!


學無止境,如果是為了就業的話,最好多做一些實戰項目!

更多精彩,敬請關注!


科創陳


純小白怎樣開始學python?當然是從最基本的環境搭建再到語言學習唄,作為一門簡單易學、面向大眾的編程語言,python入門來說其實非常容易,零基礎也可以輕鬆掌握,下面我簡單介紹一下python環境的搭建以及學習過程,感興趣的朋友可以嘗試一下:

01、搭建python開發環境

初學入門python,當然,搭建開發環境最為重要,這個直接到官網下載安裝包即可,目前最新版本為3.8,根據自己平臺選擇合適的版本,windows環境下就是一個exe文件,直接雙擊安裝就行,至於版本2還是版本3,毋庸置疑當然是3,2版本現在官方已經停止更新和維護,不建議使用,後期會出現兼容性問題,你也可以安裝更為便捷的anaconda,集成開發包和環境更為友好,但佔用空間比較大:

02、安裝python開發軟件

python環境搭建完成後,你可以使用自帶的gui開發環境idle,但界面比較簡潔,功能單一,沒有任何自動補全、語法提示和錯誤檢查的功能,這裡推薦2個適合於初學者的python開發軟件,一個是vs code,一個是pycharm,前者輕便靈活、插件擴展豐富,後者專業強大、很適合項目開發,只要你熟悉一下使用過程,很快就能掌握和運用,在代碼編寫以及調試方面也會方便不少:

03、python基礎入門

開發環境及開發軟件準備好後,就是python基礎入門,這裡可以學習和參考的資料就非常多了,慕課網、嗶哩嗶哩、網易雲課堂等都有大量免費的python教程,課程基礎全面、覆蓋面廣,很適合初學者入門,當然,你也可以找一本適合自己的專業python書籍,一邊學習一邊練習,掌握好基礎最為重要,多調試代碼,多積累開發經驗:

04、python高級進階

基礎掌握牢靠後,就是python高級進階,作為一門膠水型語言,python的應用範圍非常廣,廣泛存在於人工智能、機器學習、測試運維、網絡爬蟲、web開發等,每個方面都投入精力顯然是不可能的,根據自己所專注的方向以及所從事的職業,選擇一些常用的框架去學習,吃精吃透,多做項目最為重要,畢竟這是以後謀生的手段:

總的來說,python入門其實非常容易,語法簡單、易學易懂,零基礎也可以輕鬆掌握,但想學精學透實屬不易,需要一個漫長的積累過程,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。


小小猿愛嘻嘻


編程語言入門的標誌都差不多:只要成功地讓屏幕顯示出“Hello world”,就算入門成功。

當然,這個標準是低了一些……

要是一門編程語言入門,最少能配置它的環境,能用它解決一些日常問題,最少實現一些常見的算法,以及知道如果出了問題該去哪裡找到答案。

要是認同這個入門標準的話,python入門只要靠看幾本書以及做相應的練習題就差不多可以達到了。

第一本是《笨辦法學python》。這本書列出了52個python小問題,讓你可以在幾天內大致瞭解python這門語言的基本邏輯。

然後可以看一下《簡明python教程》,可以瞭解關於Python的更多內容。這本書比上一本涉及到的東西多一些,可能需要做一些筆記並且經常複習一下。

然後,可以看《Python學習手冊》。這本書算是進階圖書,他本來就是基於一套不錯的培訓教程而寫的,安排合理且內容豐富。

看完了這些書,把裡面的東西記住了,做完了所有習題之後,就可以說python已經入門了。

剩下的,就是去碰到問題,然後google一下如何解決了——也就是進入程序員的日常了。


葉猛獁


我們該如何學好Python,這個問題其實也一直困擾著我,雖然接觸Python也超過3年了。平時用python更多的是解決工作中碰到一些數據問題。

學好Python,我的看法是打好基礎,不論何種語言,語法基礎是必須

python作為一種語言,語法是必須要掌握的,循環方面while,for都需要我們明確清楚的,不然寫個程序,結果你是不知道,只能碰運氣,運氣好知道答案,運氣不好死循環在那。應用崩潰了。

理解pythonnic概念,編寫優秀的代碼是Python學好的保證

什麼是pythonic,這是很難定義的,這就是為什麼大家無法通過百度得到結果的原因,就像問題一樣。對於Pythonioc可能大家有大家的看法,但是有一個具體的指南,那就是Tim Peters的《The Zen of Python》:

  • 美勝醜,顯勝隱,簡勝雜,雜勝亂,平勝陡,疏勝密

  • 找到簡單問題的一個方法,是取是唯一的方法

編寫python代碼的信條,以它為信條編寫出的其它代碼也會非常漂亮。

遵循Pythonic的代碼,看起來就像是偽代碼。其實,所有的偽代碼都可以輕易地轉換成可執行的python代碼。所以,pythonic我們可以這樣理解,充分體現python自身特色的代碼風格。

如何學好python,我認為必須做到打好堅實的基礎,不能因為語法的問題,出現錯誤;儘可能地做到Pythonic,pythonic提供了一個我們更加認識事物的可能,簡單就是美。


Bean蠶豆


人生苦短,I Write Python。這兩年隨著「人工智能」、「大數據」的爆發,Python進一步站在了風口。那麼,對於純小白,如何上手Python學習呢?下面談談自己的看法:


1、環境搭建

很多人都在糾結入門應該學 Python2 還是 Python3。這其實不是個問題。我從沒聽過某個人是 Python2 程序員或 Python3 程序員。二者只是程序不兼容,思想上並無大差別,語法變動也並不多。如果初學者的話,建議直接Python3開始,畢竟2已經被官方拋棄了。Windows平臺的話,直接在官方網站下載安裝包,一鍵傻瓜式安裝即可。

2、編程工具選擇

Python編程的話,主要推薦以下兩款:、

  • VSCode

由微軟團隊開發的一款編輯器,旨在替代Sublime、Atom之流,跨平臺支持,UI也很絢

麗,讓你的編碼過程不再單調。最大的優點就是安裝包小巧,啟動速度快,在別人還在等待IDE啟動過程中,你已經動手編碼了。

在安裝Python插件後,使用編輯器VSCode你也可以擁有IDE才用的便利,單步調試、一鍵運行等優點一個也不少。

  • PyCharm

Python開發最強大的IDE,沒有之一。如果不想像VSCode那樣折騰,那麼建議直接Pycharm,開箱即用。


3、入門書籍推薦

書籍是人類進步的階梯,一本好的書籍更能達到事半功倍的效果,幫你繞過很多彎路,下面推薦幾本個人比較看好的書:

  • 簡明 Python 教程

  • Python編程,從入門到實踐

  • Python核心編程

  • Python官方教程文檔

其中最值得一提的就是《Python官方教程文檔》,基本上你遇到的任何基礎問題,都可以在官方文檔中找到答案。


寫代碼的時間一定要大於看書看視頻的時間!

寫代碼的時間一定要大於看書看視頻的時間!

寫代碼的時間一定要大於看書看視頻的時間!

重要的事情說三遍,一定要多動手實踐,在看書的基礎上,一定要對書中的例子、課後

的習題動手編碼,實踐一遍!

4、提升

直接參與一些小型有趣的項目,不僅能提升自己的興趣和信息,更能將之前所學的基礎融匯貫通。學習了Python,你可以試著去寫個小爬蟲,去爬取豆瓣Top50熱門電影,爬取微博漂亮小姐姐的私房圖,寫個微信機器人自動回覆消息等等等等!


這裡推薦一份Github的開源項目「awesome-python-login-model」,直接去git上搜索即可。使用python模擬登陸一些大型網站,還有一些簡單的爬蟲。

5、遇到問題怎麼辦?

「授人以魚不如授人以漁」,在編碼學習的過程中或多或少都會有各種問題出現,不要一味的去逃避,真正的勇士敢於直面慘淡的 BUG。

  • 善用搜素引擎,百度什麼的就靠邊站吧,善用Google,學會科學上網是每一個IT人士必備的技能;

  • 求助各大交友網站大佬,這裡重點推薦GitHub、StackOverflow、segmentfault。


分享到:


相關文章: