程序員在普通人眼里就像魔法師,一個腳本輕松搶幾十盒月餅,一個插件解決春運搶票難題,幾行代碼搭建一個網(wǎng)站,用微信自動聊天,在程序員眼里這些事太稀松平常了,他們只不過是利用了編程語言指揮計算機去自動完成一些需要人類重復(fù)操作的繁瑣過程,等你會編程也就不覺得大驚小怪了。
有些人學習編程剛一開始頭腦發(fā)熱,買了很多書,下載很多視頻,收藏很多電子資料,沒過幾天,熱情就褪去了,最后完成了從入門到放棄的全過程,究其原因主要是缺乏清晰的目標,沒有方向,或者方向不明確。如果你真正想把編程學好,那么先想想為什么要學編程,是為了找一份編程工作,還是為了解決某個繁瑣問題,抑或是做個網(wǎng)站給自己用,還是寫個App,或者是爬個數(shù)據(jù)做分析,最怕的就是不知道為什么而學,如果僅僅是因為焦慮而學習你也很難學好,很多人跑過來問我入門書看完了,接下來看什么書?這就是典型的不知道學了有什么樣,純粹為了學習而學習。
我們的目的是學以致用,用以促學
以學習爬蟲為例子,你學爬蟲的動機什么?你的動機可以是從網(wǎng)上獲取一些數(shù)據(jù)做數(shù)據(jù)分析,例如,前段時間有位朋友找到我說,他想做一個廠房租賃平臺,開始做之前需要選址,選址就要做市場調(diào)查,如果僅憑直覺沒有數(shù)據(jù)支撐,很難說哪個地方好,最好的辦法使用爬蟲去58這樣的平臺把相關(guān)的交易數(shù)據(jù)爬下來做數(shù)據(jù)分析,這就是一個很好的動機,而且目標非常明確。
Python 編程有很多方向,有網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、Web開發(fā)、測試開發(fā)、運維開發(fā)、機器學習、人工智能、量化交易等等,各個方向?qū)Χ加刑囟ǖ募寄芤?,比如學數(shù)據(jù)分析就要重點掌握統(tǒng)計學、SQL 等知識,搞運維就要非常熟悉 Linux 系統(tǒng),所以你首先要清楚你選擇的是什么方向,這個方向哪些知識需要重要掌握。
以 Web 開發(fā),重點要理解 HTTP 協(xié)議,要知道一個網(wǎng)頁從瀏覽器輸入URL開始到頁面出現(xiàn)內(nèi)容的這個過程發(fā)生了什么,然后要知道 Web 開發(fā)涉及的前端知識 HTML、JavaScript、CSS,大概了解他們是做什么的,然后就是學 Python,當然也不是所有的東西都要學,掌握基本的語法,常用的數(shù)據(jù)類型就差不多可以去實現(xiàn)你的目標了,幾乎所有網(wǎng)站都需要用到數(shù)據(jù)庫,那么你至少需要懂一點數(shù)據(jù)庫的知識,SQL 的增刪改查操作要會,程序?qū)懲炅?,我們要部署,而系統(tǒng)一般都是運行在 Linux 環(huán)境,這個時候你還需要了解如何操作 Linux 命令。
接下來就詳細介紹每個過程如何學習,以及所用到的學習資源和掌握的程度。
HTTP 協(xié)議是瀏覽器與服務(wù)器通訊的媒介,用戶在瀏覽器輸入URL后瀏覽器會立即向服務(wù)器發(fā)起一個請求,服務(wù)端接收請求后,從數(shù)據(jù)庫查詢到合適的數(shù)據(jù),最終把數(shù)據(jù)返回給瀏覽器。瀏覽器與服務(wù)器之間的通訊嚴格遵守 HTTP 協(xié)議,如果你弄懂了 HTTP 協(xié)議,那么也就弄懂了 Web 編程的基本原理,這里推薦兩本關(guān)于 HTTP 協(xié)議的書。
《圖解HTTP》
《HTTP權(quán)威指南》
前者更偏向于入門,后者適合進階閱讀,前期不一定要細讀,大概理解就行,以后你還會回過頭來學習的。
任何一個做 Web 開發(fā)的,離不開前端三劍客,這里的三劍客是指 HTML、JavaScript、CSS。HTML 是骨架,CSS是外衣,JS控制前兩者,為了滿足更多用戶交互行為需要 JavaScript 來控制。下面推薦的這幾本書對一個初入門的小白來說完全夠用,挑選一兩本就行,也不需要你全部看完,一本書看完前面的 60% 差不多就行了。
《HTML5秘籍(第2版) 》
《HTML5權(quán)威指南 》
《Head First HTML與CSS(第2版)》
《CSS權(quán)威指南(第3版)》
《JavaScript DOM編程藝術(shù)(第2版)》
《JavaScript高級程序設(shè)計(第3版)》
不管再忙都要堅持每天要至少保持3個小時以上的練習時間
了解了基本的前端知識后,還是有必要了解一下前端的框架,如vue.js、boostrap、react、jquery 等等,雖然不一定每個框架都去學一遍,但至少要知道每個框架的作用,因為以后你不可能什么都是自己重復(fù)造輪子。
學完前端知識后,你現(xiàn)在應(yīng)該能簡單的做出一些靜態(tài)網(wǎng)站出來了,不過,現(xiàn)在幾乎所有的網(wǎng)站都是動態(tài)的(這里的動態(tài)不是說動畫效果,而是說頁面數(shù)據(jù)是動態(tài)變化的),就是說數(shù)據(jù)都是根據(jù)登錄用戶個性化推薦的,瀏覽器的請求發(fā)送給服務(wù)器之后,服務(wù)器從數(shù)據(jù)庫查詢獲得數(shù)據(jù)返回給瀏覽器,服務(wù)器這邊的實現(xiàn)邏輯就需要用 Python 來實現(xiàn),現(xiàn)在正是開始學 Python 的時候, Python 入門需要掌握的內(nèi)容包括基本語法、數(shù)據(jù)結(jié)構(gòu)、常用數(shù)據(jù)類型和常用的模塊的api方法操作等。關(guān)于 Python 的書其實很多,這里推薦幾本入門和進階。
入門
《Python簡明教程》可以在公眾號「python之禪」回復(fù) \"python\"免費獲取電子書
《Python編程:入門到實踐》
《Python編程快速上手 : 讓繁瑣工作自動化》
進階
《流暢的Python》
《Python Cookbook》
《Effective Python》
簡明教程就是一本很薄的小冊子,希望你可以認真讀完,后面兩本入門書,至少要把前面的基礎(chǔ)學完,至于后面的實戰(zhàn),不學也罷,因為你的興趣點不一定在那里。
不管再忙都要堅持每天要至少保持3個小時以上的練習時間
現(xiàn)在差不多可以用 Python 來做很多事情了,但是你還不知道如何寫一個 Web 應(yīng)用,因為你可能不知道怎么操作數(shù)據(jù)庫,怎么寫 SQL 語句,對數(shù)據(jù)庫進行增刪查改,所以,別急,先學學數(shù)據(jù)庫知識吧,MySQL 是最流行的數(shù)據(jù)庫系統(tǒng),大公司都在用。最基本的數(shù)據(jù)庫操作就是要知道什么表、行、列、主鍵、外鍵、索引這些概念,稍微復(fù)雜的就是查詢,有分組查詢,聯(lián)合查詢等各種條件查詢,你需要掌握這些基本操作。
《SQL基礎(chǔ)教程》
《MySQL必知必會》
這兩本數(shù)都是面向初學者的基礎(chǔ)教程,挑選一本就夠了,除了MySQL,還有PostgreSQL、Oralce、SQL Server 都屬于關(guān)系型數(shù)據(jù)庫,另外也有 MongoDB、Redis 這樣的非關(guān)系型數(shù)據(jù)庫,你可以相應(yīng)的都去了解一下,不一定非要馬上就學。學完數(shù)據(jù)庫之后,你要想的一個問題就是如何用 Python 操作數(shù)據(jù)庫的 CRUD,雖然沒有專門的書籍講這個,但是網(wǎng)上有很多教程寫如何用 Python 操作 MySQL 的,所以,學會利用搜索引擎非常重要,為了防止忘記前面的內(nèi)容,也要不時地復(fù)習、練習前面的內(nèi)容。
不管再忙都要堅持每天要至少保持3個小時以上的練習時間 。
現(xiàn)在你差不多所有的基礎(chǔ)知識都有所掌握,終于可以磨刀霍霍迫不及待開始第一個真正屬于你自己作品的開發(fā)之旅了,因為前面你已經(jīng)掌握了 HTTP 協(xié)議,所以現(xiàn)在你可以選擇一個 Web 框架,基于這個框架來開發(fā)我們的 Web 網(wǎng)站,這里推薦使用 Flask,這個框架比較流行,然后又是一個比較輕量級的框架,非常靈活。有對應(yīng)的一本著名的狗書《Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實戰(zhàn)》。一個完整的 Web 網(wǎng)站從前端 HTML、CSS、JavaScript再到后端 Flask,數(shù)據(jù)庫連接、CRUD操作基本都能跑通了,項目差不多基本成型,只剩下最后一個步驟,就是如何把做好的程序發(fā)布到服務(wù)器讓它一直穩(wěn)定的運行,持續(xù)提供服務(wù)。
通常,我們的 Web 程序會部署在 Linux 服務(wù)器,很少有用 Windows 作服務(wù)器的,所以,熟悉 Linux系 統(tǒng)還是非常有必要的,Linux 要掌握到什么程度呢?當然,至少要會基本的 Linux 命令操作才行,推薦下面這幾本書
《快樂的Linux命令行》,公眾號「Python之禪」回復(fù) \"linux\" 可免費獲取。
《鳥哥的Linux私房菜》
《Linux命令行與shell腳本編程大全》
熟悉完 Linux,程序也部署好了,其實還差一步,網(wǎng)站需要一個好記的域名方便別人訪問,畢竟沒人能記住你的 IP,所以,后期的域名購買,HTTPS 配置,Nginx 配置,都可以在網(wǎng)上找到相應(yīng)的答案。
不管再忙都要堅持每天要至少保持3個小時以上的練習時間 。
你的打怪升級過程一定是一個曲折的,痛并快樂著的過程。
最后祝你升級成功。
百度一下,你就知道
python是比較容易上手的一種語言,個人感覺比c容易些。入門建議選擇《python簡明教程》。只要你一本書看到底,而且堅持動手寫程序,一定會學會python的。
作者:Python旦復(fù)旦兮
看見很多回答長篇大論,推薦的東西卻并不適合小白,我有點氣,來給大家怒答一波。
我看過很多教程,例如大神廖雪峰的微博,大神寫得很好,可惜卻不適合我。而我卻傻傻地跟著教程做,導致幾度失去信心。新手入門,總?cè)菀自谝恍┛此坪苄〉募毠?jié)之處卡住,這往往是寫書的專業(yè)大神所遺漏的。我希望以當年初學者的心態(tài),手把手地平穩(wěn)帶我的讀者上車。
首先,你要知道自己學Python到底是為了什么?因為Python基礎(chǔ)語法雖然簡單,但是針對不同需求有不同的模塊,而這些模塊如果想要全部先學會再去使用,那么耗時巨長,且容易遺忘,不切實際。最好的方法是,先確定方向,學好基礎(chǔ)語法,然后在實際運用中學習模塊的使用。
對于掌握Python基礎(chǔ)語法后,希望向不同分支方向進階的同學,給出如下思維導圖。
Life is short, U need Python.這句話大家都聽過,“生命短暫”我們都知,但為何need Python而不是其他呢?就是因為Python相對而言化繁為簡,針對每個看似高端的領(lǐng)域,都已經(jīng)有較為成熟的packages應(yīng)對,而我們所學習的不是開發(fā),而是應(yīng)用,如何通過學習、應(yīng)用將其與工作結(jié)合,提升個人的人力價值成為關(guān)鍵。我們可能無法像在校的計算機、數(shù)學、大數(shù)據(jù)的學生一樣深入研究原理,也不可能全面鋪開學習,因為時間極其有限,只能拿來做最需要的事,學最精華的內(nèi)容。如果你直接打開我們的網(wǎng)盤,或者任何一個渠道獲取的Python精華資料,你會發(fā)現(xiàn)每部分的資料都很多,too many books, but too little time!
為此,數(shù)據(jù)分析之外,我們給有一定基礎(chǔ)的同學列了一年期大致能學會核心應(yīng)用的內(nèi)容,表單如下:
Editor和Console的選擇,對于非計算機專業(yè)人士,一般Pycharm、Spyder、Jupyter Notebook三選一
Python基礎(chǔ)
\"Think Python\"
《瘋狂Python》(缺pdf)
《笨辦法學Python3》
\"Python for everyone\"
\"Beginning Python3\"
數(shù)組處理Numpy、科學計算Scipy
\"Elegant Scipy\"
\"Scipy and Numpy\"
表格型數(shù)據(jù)結(jié)構(gòu)Pandas
Pandas Cookbook
處理較大數(shù)據(jù)的PySpark
《數(shù)據(jù)算法:Hadoop/Spark大數(shù)據(jù)處理技巧》(無pdf)
\"Data Analytics with Spark Using Python\"
數(shù)據(jù)可視化的Matplotlib、Seaborn、Bokeh
以上共同推薦《利用Python進行數(shù)據(jù)分析》,《Python數(shù)據(jù)科學手冊》,《Python數(shù)據(jù)分析基礎(chǔ)》,《Python金融大數(shù)據(jù)分析》(無pdf),《Python金融實戰(zhàn)》、\"Python for Finance\"。
Python進階
《Python核心編程》(缺pdf)
機器學習Sklearn
《機器學習》(周志華)
“Python Machine Learning\"
《機器學習實戰(zhàn)》
爬蟲Scrapy
《正則表達式必知必會》(缺pdf)
《Python3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)》
大家看完這份清單可能有點頭痛,這么多書需要讀的嗎?不是的,對于Python基礎(chǔ)部分,只要你能夠?qū)W完其中任意一本書,就能對Python有大致理解。數(shù)據(jù)分析中,只要能夠閱讀綜合類推薦的4本書之一,對整體數(shù)據(jù)方面的基本能夠入門。機器學習方面,對理論基礎(chǔ)不想學習,只學應(yīng)用的可以直接看后兩本。爬蟲方面的兩本書,可以直接看第二本,在第二本正則表達式方面遇到困難時,可以回頭再學第一本。
如果1年時間要全都看完學懂,那是極其困難的,我建議大家采取前慢后快,前細后寬,持之以恒的策略,在基礎(chǔ)學習部分多花些時間,把底子打磨好,基礎(chǔ)扎實,后面學習來會較為輕松。
很高興回答你的問題
首先,為啥要學習Python?這里我說下我的想法。我去年剛畢業(yè),到今年7月份就剛好畢業(yè)一整年,在這期間,我報了一個Python學習班,但所教內(nèi)容都被我在網(wǎng)站上找到了相似內(nèi)容。它帶給我的可以說是當時走投無路的希望,但也是現(xiàn)在穩(wěn)定生活的經(jīng)濟隱患。但我不會放棄,因為我喜歡它,Python附有的獨特魅力,讓我可以將它作為副業(yè)展現(xiàn)在arduino、microbit,又或者是數(shù)據(jù)分析等領(lǐng)域。
找到了自己的初衷后,不要輕易改變。只有這樣,我們才能真正領(lǐng)會。接下來聊聊怎么學習它。
第一,將Python知識進行結(jié)構(gòu)化
對于一些小白,不要受廣告效應(yīng)影響,失去了自己的判斷。再想學習Python之前,要了解它是什么?它可以做什么?為什么要學它?只有你對這三個問題有了答案,你才能去學習它。我這里給一個我學習Python的結(jié)構(gòu):
1.Python
數(shù)據(jù)類型等基礎(chǔ)
2.Python
爬蟲
3.Python
數(shù)據(jù)分析
4.Python
機器學習
5.Python
深度學習
而第一部分涵蓋了運算符、數(shù)組、列表、字典等的基礎(chǔ)了解與使用。在學習的時候先畫一個學習的框架,對它進行結(jié)構(gòu)化學習分析。
第二,付費網(wǎng)絡(luò)課程助力
為啥這里說付費網(wǎng)絡(luò)課程,現(xiàn)在網(wǎng)上很多免費課程,看著很吸引人。很多小白都相信可以學到很多內(nèi)容,但這些其實是一種營銷方式,空中建樓閣,萬萬不可。我之前也看了些免費課程,要不就是很深奧,看著很精彩、很刺激,但真正去操作起來很難;或者說你學會了敲代碼,但卻不知道為什么。學習Python,我拒絕做碼農(nóng)。那為啥一定是付費課程?不可以參加培訓嗎?其實培訓是可以的,都是很厲害的工程師,但是工程師跟老師相比還是有很大差距的,特別是利益性的。老師會教你為啥是這樣的,而工程師會教你怎么做來實現(xiàn)它,久而久之,你學會的是技能而不是創(chuàng)新、改進。這些都是比較側(cè)面的,最主要的是價格高昂,而且學習內(nèi)容趨于基礎(chǔ)。教會了徒弟餓死師傅,也不是沒有道理的啊。所以不要指望培訓出來能馬上成為一個經(jīng)驗豐富的Python工程師,最多就是在工程師的帶領(lǐng)下,你進入了Python這門。相比下,付費網(wǎng)絡(luò)課程,具有可移性強,價格實惠,內(nèi)容豐富等特點。如果有視頻加作業(yè)任務(wù)給到,那就最好了。
第三,分享點學習平臺
第一:官網(wǎng)。直接百度搜搜Python就可以找到官網(wǎng),當進入官網(wǎng)就可以瀏覽很多學習文檔。像django、flask、scrapy等等都可以查閱到。但內(nèi)容都比較基礎(chǔ)。
第二:csdn,在這里,你可以下載源碼,下載學習文檔,以及交流心得來充分學習。
第三:git,這里是全球程序員的交互平臺,在這里可以找到很多實戰(zhàn)項目來進行學習。
更多精彩,敬請期待!
首先介紹下我的背景,我高中是理科生,但是大學四年,研究生都是管理專業(yè),平時不怎么接觸編程,完全是0基礎(chǔ)的編程小白。
沒學編程前覺得編程很難,搞不懂學數(shù)據(jù)結(jié)構(gòu)能做什么,for循環(huán)有毛用, if while 判斷真真假假有意思嗎?還有錯誤處理,類,修飾器,更不知道能用來做什么?
所以沒學python 前,你和我一樣對ta是未知的。人們對未知天生的恐懼,導致咱們小白,尤其是文科生,對編程這片未知領(lǐng)域望而卻步,生怕付出了沒有回報。而且人們做事前天生的害怕失去,卻不怎么考慮得到這方面。這種習慣把很多人限制于編程世界之外。
我最早接觸編程是三年前,當時有一位朋友學世界上最好的語言PHP ,學php 實際上要前端html css JavaScript 和后端數(shù)據(jù)庫。我那時也跟著湊熱鬧學了學html css JavaScript 至于數(shù)據(jù)庫基本沒學,學習放棄的原因是學到JavaScript 時不懂這些數(shù)據(jù)結(jié)構(gòu),條件判斷,循環(huán)這些東西能用來做什么。而且只是看視頻學,沒有真正的動手,幾十集教程妄圖一口氣看完,再去敲代碼寫出個東西來??上攵?,一寫就出錯,很有打擊感,挫敗感。
然后我就放棄了學編程,還是安心的去考研吧。這一考就是三年,總算在15年考上管理學研究生。但是讀研時導師要求我去爬數(shù)據(jù),開展分析。我嘞個去,文科生編程低能兒小白的我,腫么辦?
當時導師說你要是有決心學我就送你暑假去參加“哈工大大數(shù)據(jù)與商務(wù)智能暑期學?!?。這誘惑力還是挺大的,畢竟離開學校三年,想回母校的本部看看(我是威海校區(qū)的)。但是我還有其他人都沒有立刻回復(fù)導師,也在做思想斗爭。
直到一個月后,因為看了很多相關(guān)論文,大數(shù)據(jù)的概念應(yīng)用等,覺得這方面很有前途。能夠解決未來自己的讀博科研需要,又能在職場上加分,我覺得學編程對我很有用,特別有用。
當一個人覺得掌握某樣知識對自己很有用,很迫切時,也就會忽略了要掌握這技能的艱辛過程。我開始渴望編程,想學會了就可以從網(wǎng)絡(luò)中獲得數(shù)據(jù),有了數(shù)據(jù)那就可以寫論文,想想都覺得很美很贊。
在這個時候,我有位朋友開始學python ,我轉(zhuǎn)戰(zhàn)python ,瞬間覺得python 好簡單。因為我是一點點的啃代碼,看到一行代碼不懂,就去敲代碼,不考慮以后拿來能作什么。也沒時間考慮這數(shù)據(jù)結(jié)構(gòu),條件判斷語句很簡單,可是能用來做什么。這些問題,我哪里有時間考慮。還有不到一個月時間我就要去哈工大暑期學校了,我必須掌握python 基本知識。
人有時候越聰明越被動,反而不如傻乎乎點單純點。不要糾結(jié)那么多,啥也別說別想就去敲代碼就好了。不懂得沒關(guān)系,敲代碼,報錯,那就改代碼,總會三兩下就記住這錯誤。下次就不會犯錯。
就這樣,基礎(chǔ)部分,再結(jié)合自己需要學相關(guān)的庫,任務(wù)導向,學習起來很快。基礎(chǔ)部分用時快的人一周,慢的一個月。我從學python 到寫出第一個爬蟲,用時不到一個月。真的很簡單。
后來,寫出爬蟲覺得python 大法好,我又繼續(xù)精進爬蟲這門手藝,最初只能爬的靜態(tài)網(wǎng)頁,到后來,動態(tài)的也會爬了。但是自己水平還不夠,還需要提高提高再提高。
說了我的例子,廢話很多。雞湯很多,但編程小白的我現(xiàn)在會寫爬蟲了,也算一個正面案例。
全面了解Python
很多小伙伴想學Python又不知如何入手。今天,我們就先了解Python,回答關(guān)于Python的常見問題:
Python是一種什么語言?
Python是一種計算機程序設(shè)計語言。你可能已經(jīng)聽說過很多種流行的編程語言,比如非常難學的C語言,非常流行的Java語言,適合初學者的Basic語言,適合網(wǎng)頁編程的Java語言等,Python是他們其中的一種。
而不同的編程語言,干同一件事,編寫的代碼量,差距也很大。比如完成同一個任務(wù),C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。
用Python可以做什么?
可以做日常任務(wù),比如自動備份你的MP3;可以做網(wǎng)站,很多著名的網(wǎng)站像知乎、YouTube就是Python寫的;可以做網(wǎng)絡(luò)游戲的后臺,很多在線游戲的后臺都是Python開發(fā)的。
其它比如運維、Web開發(fā)、應(yīng)用開發(fā)、大數(shù)據(jù)、數(shù)據(jù)挖掘、科學計算、機器學習、人工智能、自然語言處理……還可以寫很長很長……
總之就是能干的事情非常多,但是Python也有不能干的事情,比如寫操作系統(tǒng),這個只能用C語言寫;寫手機應(yīng)用,只能用Objective-C(針對iPhone)和Java(針對Android);寫3D游戲,最好用C或C++。
學Python難度大嗎
Python是一門高級語言,那么是不是越低級的程序越難學,越高級的程序越簡單?表面上來說是這樣的。但是,高級的Python程序設(shè)計也是非常難學的,所以,高級程序語言不等于簡單。不過對于初學者和完成普通任務(wù),Python語言是非常簡單易用的。像樓主這樣軟件工程師出身的話,掌握起來也應(yīng)該是比較輕松的。
Python薪資
有打算學習Python的同學會問,Python學完之后就業(yè)情況怎么樣?薪資待遇怎樣?就Python的職業(yè)發(fā)展方向,這里簡單的做一些分析,給大家提供一些參考。
可以看到,Python的平均薪資在15000元左右,而根據(jù)今年的行情來說,20000元左右不是難事。即使是剛畢業(yè)的應(yīng)屆生,一般二線城市起薪也可以達到6-8K左右,一線城市起薪可以達到8K左右。
就業(yè)職位有如下方向:
Linux運維工程師
Python開發(fā)工程師
Python人工智能工程師
大數(shù)據(jù)工程師
Python游戲開發(fā)工程師
Web網(wǎng)站開發(fā)方向
Python自動化測試
選一個好的集成平臺,推薦安裝Anaconda,主要讓你免去安裝第三方庫的困擾。
選一個好的ide,推薦使用vs code或pycharm,主要讓你可以盡可能得到智能提示。
學習基本的語法,記住只學習基本的就可以。比如,if,for,定義方法,導入外部模塊,常用內(nèi)置方法(sorted,sum),list,字典,元組的使用,推導式。但其他高級概念全打住。
根據(jù)自己的興趣,選一些第三方庫進行學習,比如你喜歡爬蟲,那就去看看request和BeautifulSoup
到此階段你已經(jīng)有寫基礎(chǔ),并且也有一點實戰(zhàn),如果你希望讓自己寫新項目可以更加得心應(yīng)手,那就是時候去學習高級概念,比如,怎么寫自己的模塊,裝飾器,元編程。
我分享一下我的學習python的經(jīng)歷,我是一個不專業(yè)編程的美術(shù)生,由于看程序有點心心慌慌,所以最近在創(chuàng)作了一款字體,用于學習python。所以就和卡通動漫來代替一下,編寫了兩段python程序。一個是用PythOn單獨輸出520,一個是用于處理三體問題。
好!來:
**用PythOn單獨輸出520,直至宇宙毀滅**
**用PythOn在三體星球上以宇宙的尺度輸出520**
我是這樣想的我們打不過三體人,所以我用PythOn在三體星球上以宇宙的尺度輸出520驚嚇一下三體人,讓她們不要來,不要來,不要來。
自學Python需要一些指導和計劃,以下是一些步驟和建議:
確定學習目標:在學習Python之前,需要明確自己的學習目標。例如,是為了開發(fā)Web應(yīng)用程序,還是為了進行數(shù)據(jù)分析或機器學習等。
學習Python基礎(chǔ)知識:第一步是學習Python的基礎(chǔ)知識,包括語法、數(shù)據(jù)類型、條件語句、循環(huán)語句、函數(shù)、字符串、列表、字典、元組等??梢酝ㄟ^網(wǎng)上的視頻課程、教程或者書籍來學習。
練習編寫小程序:通過練習向計算機輸出“Hello, World!”等小程序的編寫,可以加深對Python基礎(chǔ)的理解。
參與在線學習社區(qū):可以參加Mooc平臺,在線學習Python課程,例如Coursera和edX等。此外,也可以加入一些Python學習社區(qū),例如GitHub、Stack Overflow,以及Reddit的Python頁面等。
編寫項目并實踐:學習后,需要實踐,實踐可以更好的理解Python的語法以及其他相關(guān)概念。可以通過編寫練習項目,例如編寫一個Python爬蟲、開發(fā)一個文本編輯器等,來應(yīng)用所學知識。
重復(fù)練習以及不斷學習新東西:完成每個項目都需要不斷的重復(fù)練習,以確保所學知識掌握得扎實。同時,也需要繼續(xù)學習新的概念、新的框架和新的工具,來拓寬自己的編程技能。
總之,自學Python需要堅持不懈地學習,掌握基本語法后,通過實踐應(yīng)用所學的,充分利用在線學習和學習社區(qū)的資源和工具,而不斷深入探究和重復(fù)訓練也是關(guān)鍵。
以上代碼純屬虛構(gòu),切莫當真。
現(xiàn)在無論學什么,在網(wǎng)上都能輕易的找到很多資料,python的資料視乎更多一些。也正是因為如此容易獲取,導致我們學習一門新的技術(shù)來說,不知道該如何下手?以不知道選擇什么樣的學習資源更適合自己。個人認為,首先要確定一個自己的學習路線圖是非常重要的,它可以幫助我們節(jié)省不少時間,在自學的道路上也更容易堅持下去 。
個人認為,自學python可以按照如下三個階段進行系統(tǒng)學習會比較有效
學基礎(chǔ)
多實踐
定方向
如果說學習python是為了進入某一個領(lǐng)域從事這方面的工作 。那么python的基礎(chǔ)是肯定是要學的,它們也是通用的 。所以,第一步就是完成python的入門基礎(chǔ)學習 。
其次,我們就可以進行一些強化練習了,練習的重點就是加強鞏固第一階段學習的知識。通過各種案例來進行實踐 ,從而完成第二步的實踐學習 。
最后就是確定一個python的領(lǐng)域,在這個領(lǐng)域之內(nèi)仍需學習一些專業(yè)的知識,通過學習這些技術(shù),我們才有機會進入這個領(lǐng)域,學習python才能為我們提供真正的用武之地。
以下為學習路線圖
學基礎(chǔ)
首先就是要入門,也就是要掌握python的一些基礎(chǔ)知識,這些知識無論是刷視頻還是看文章,基本就那些內(nèi)容,大同小異 。作為初學者來說,我們就要找一些比較優(yōu)質(zhì)的教程,堅持下去,能將教程的多數(shù)知識點理解到位并且每個案例都能跟著寫下來,那么這一階段的目標就算完成。
以下是個人認為比較好的一些python基礎(chǔ)教程:
python 3教程 :https://www.runoob.com/python3/python3-tutorial.html
python基礎(chǔ)教程:http://c.biancheng.net/python/
python教程(廖雪峰):https://www.liaoxuefeng.com/wiki/1016959663602400
建議以上教程可以結(jié)合著來看,這樣可以多方位的理解 。
多實踐
雖說基礎(chǔ)教程也學了,但是拿到一個需求,還是難以實現(xiàn),原因就是我們還沒有自己實現(xiàn)需求的經(jīng)歷,簡單的來說,就是練的少,實踐的少。那么接下來的這個階段就是以實踐為主,選擇一些優(yōu)質(zhì)題庫,做上個百十來個題,慢慢的就有那種自己去寫代碼的感覺了。建議這個階段的題目選擇不要太難,一下子太難了容易受到打擊,難度可以可以慢慢的往上提。下面的題庫中有標注難以程度的,可以參考著來 。
刷各種題庫
適合基礎(chǔ)練習的題庫也有不少,比如如下的這些網(wǎng)站:
Python 練習冊,每天一個小程序:https://github.com/Yixiaohan/show-me-the-code/blob/master/README.md
力扣題庫:https://leetcode-cn.com/problemset/all/
python 100例:https://www.runoob.com/python/python-100-examples.html
給自己提需求
除了刷各種題庫外,個人覺得在工作給自己提需求也是一個不錯的實踐方式,只要遇到了問題,首先就想到是否可以使用python寫個程序去解決。實現(xiàn)上那么幾個工作中的需求,我們的代碼能力就會提高很多。
做面試題
當然,如果我們有面試機會的話,面試題也是一些不錯的練手機會 。這里就不再贅述了。
定方向
當我們可以用python能實現(xiàn)一些需求以后,接下來才使用python完成工作方面的事了,但是現(xiàn)在的問題是,不同方向的崗位,使用到一些具體的python技術(shù)也是不同的 。所以,我們先選定一個方向,使用python來完成這個工作上的事才能發(fā)揮學習的最大價值。目前使用python從事的工作主要有:
python開發(fā)
python大數(shù)據(jù)+人工智能
python運維
python測試開發(fā)
確定好一個方向后,我們才有努力的目標。選擇領(lǐng)域內(nèi)的一些優(yōu)質(zhì)的工具和框架,去學習,去使用,甚至去看源碼。堅持學習上一段時間,也許在某一天我們就會成功上岸 。這里以python測試開發(fā)來說,對于測試開發(fā)來說,比較流行的就是使用python實現(xiàn)自動化測試了,比較流行的就是App自動化,Web自動化以及接口自動化,那么接下來也推薦幾個比較優(yōu)秀的自動化框架:
Appium自動化:作用:主要用于進行APP的自動化測試框架github主頁:https://github.com/appium/appium
web自動化:
作用:主要用于關(guān)鍵字驅(qū)動的web自動化測試框架
GitHub主頁:https://github.com/robotframework/robotframework
接口自動化:
作用:主要用于進行接口測試的自動化框架
GitHub主頁:https://github.com/HttpRunner/HttpRunner
以上框架都是作為測試開發(fā)常用的一些框架,研究他們的使用及源代碼有助于挺高我們領(lǐng)域內(nèi)的技術(shù) 。
最后想說的是,自學本身就是一個很漫長的過程,在學習過程中,最怕的結(jié)果就是中途放棄。所以確定一個目標,分段學習,專注于在某一個或幾個優(yōu)質(zhì)的教程上學習才可能開花結(jié)果。
Python 在這個夏天火了,編程語言流行指數(shù)(PYPL)排行榜7月份榜單第一名。JAVA的愛好者有沒有哭了!作為有多年P(guān)ython經(jīng)驗的小編,著實該為有興趣的小伙伴們送幾點福利:
1.找一個合適的大綱,從基礎(chǔ)開始,不驕不躁
Python是一門編程語言,相對其他語言如JAVA、C、C#而言更容易上手,最后Python能不能玩轉(zhuǎn),關(guān)鍵還是看基礎(chǔ)是否牢固。那么打基礎(chǔ)是學Python的第一步,關(guān)于Python的基礎(chǔ)入門,無論是書籍還是學習的網(wǎng)站,是看的眼花繚亂。那么小遍結(jié)合多年的經(jīng)驗整理了一個大綱,分享出來,21節(jié)快速入門。
2.找對方法,學習編程,那就動手把鍵盤敲壞
有了上面系統(tǒng)的學習大綱,后面要做的就是跟著大綱學習,跟著大綱將Python代碼敲起來,能把鍵盤敲壞,離Python大牛就不遠了。學習編程沒有捷徑,多寫代碼是惟一的選擇,學的好不好就看代碼敲的多不多。
3.持之以恒,一月見功效
對于剛學Python的小伙伴們,剛開始寫代碼或許覺得有些枯燥,很多小伙伴的熱情在一行行的代碼中逐漸磨滅了,能堅持到最后的才是真正的學會了的。小編在此告訴大家一個經(jīng)驗,在學習的過程中保持平靜的心態(tài),不要怕寫的代碼運行不了,不要怕有錯誤,抱著解決問題的心態(tài)將各種問題逐步消滅,并及時回味這種消滅BUG的勝利感。久而久之,就不再覺得枯燥乏味了,滿滿的成就感,觸手可得!相信堅持一個月的時間,你就是Python程序猿了!
小編相信按照以上3點來做,如果你還不會學習Python,那么小編就只能求關(guān)注了!
Python是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。
Python標準庫提供了系統(tǒng)管理、網(wǎng)絡(luò)通信、文本處理、數(shù)據(jù)庫接口、圖形系統(tǒng)、XML處理等額外的功能。Python還有大量的第三方優(yōu)質(zhì)模塊,開源框架,庫。
Python語言具有簡潔清晰的特點,因此很受歡迎,越來越多的人學習并使用它。
小編強烈推薦入門書為《byte-of-python(簡明Python教程)》,推薦廖雪峰的網(wǎng)站,推薦Python的官網(wǎng)。進階時,多看看Python的一些開源框架和庫,如Django,Web2Py...
謝謝大家。
我也是業(yè)余Python愛好者,準確的說,我學習的開始是通過 51zxw 視頻學習的,效果相當好,不妨你試一試。我發(fā)表的文章都是我通過那邊學習得到的靈感創(chuàng)作
說說我看法吧,畢竟也算是個經(jīng)歷過的人了。
如果你是豬以興趣愛好為目的,隨時都可以學,python什么都能干,且上手簡單,花樣多,騷氣。
如果是以就業(yè)為目的,首先先看看自己學歷和年齡,24以上,本科以下的話就忍住吧,python火是因為人工智能,也就是機器學習這一大的方面,目前門檻是211/985碩士,如果好學校的話必學機器學習,以后絕對比硬件工資還高。web的話php和java是主流,其他的不了解也不多說了,但是由于近兩年培訓班忽悠了不少人學python,導致python門檻一下飆升,正兒八經(jīng)面試造火箭,工作擰螺絲。當然如果老哥對編程極有天賦或者說是天才的話隨意,,,
Python應(yīng)該算是一門很簡單的編程語言,素來有著入門容易深入難的傳言,當然我也這樣認為,所以我認為初學Python可以從下面幾點入手:
第一,找一本你覺得不錯的Python基礎(chǔ)書,畢竟書里的很多基礎(chǔ)知識點還是比較系統(tǒng)的,這更適合新人學習。
第二,找一些案例分析的視頻,單純的看書當然是枯燥的,在看書學某些知識點時,可以在網(wǎng)上找找有沒有相應(yīng)知識點的案例分析視頻,看看,這樣更便于你理解知識點。
第三,哪怕是入門,也應(yīng)該要實操。學和練肯定是分不開的,所以你在學基礎(chǔ)知識點和看別人的案例分析的時候,可以自己著手練練,敲敲代碼,這個并不會很難,如果視頻里面能送源代碼和教程當然更好,如果沒有,那很多書里也會有針對知識點的案例實操練習,你也可以跟著動手練一下。
第四,一個學Python,似乎還是會比較枯燥,你可以去網(wǎng)上找找有沒有跟你一樣也在學習的,這樣有個學習的伙伴,不僅學習中可以相互交流探討,以后也許還可以合作項目呢。
(我每天七點半都會寫一些連載的Python教程,你可以來看看,說不定能幫到你)
你好,python自學是完全可以的,難度因人而異,要看你的程序語言掌握情況和你的學習態(tài)度。
一般來說沒有太大的問題,只要你堅持每天學習,加強動手操作,還是比較容易學會的,不過要持之以恒,不能半途而廢,不然許多學過的知識又會忘記。接下來我列舉了幾點學習python的心得體會,希望大家能夠喜歡。
1、找準資料
學習一門軟件需要找對資料,這是非常重要的,千萬不能盲目的學習,有可能到后來會學不到自己想要的知識,浪費大量的時間,python也一樣。我建議在圖書館或者網(wǎng)上找一些適合初學者學習的資料,比如網(wǎng)課、書籍、帖子等,最好找一些適合初學者的書。
2、規(guī)劃時間
規(guī)劃好時間往往能在學習軟件過程中起到事倍功半的效果。因為我們的時間非常有限,往往需要工作或?qū)W習,如果不能把時間規(guī)劃好,有可能讓我們的學習壓力增大,并且學不到知識。一個好的時間規(guī)劃,會讓我們學習來更加輕松,且不影響其他事情,做到了學習效率的最大化。
3、實踐練習
對于python程序語言,應(yīng)該多練習,做到熟能生巧。千萬不要以為自己在課堂上學得很好,課后就不加練習,這是非常不好的習慣,當我們掌握好python學習方法時,切記要趁熱打鐵,多去練習,在這個過程中你會收獲很多,并且對這門語言有自己的獨特認識,也可以知道自己還有哪些地方不足,進而改正。
我是你的昨天恍然如夢,希望我的學習心得能夠幫到大家,喜歡我的回答就請關(guān)注我吧,謝謝!
從基礎(chǔ)開始,一項一項來
謝邀,作為BAT的Java開發(fā)工程師,同時也在自學Python,我來分享我的經(jīng)驗。
首先我想說,Python真是入門編程最好的語言,沒有之一。它對新手真的非常友好,曾經(jīng)有人說過,Python代碼更像一段有點復(fù)雜的英文閱讀,也就是說,就算你不懂編程語法,稍加思考,就能知道這段代碼要實現(xiàn)的功能。
網(wǎng)絡(luò)
由于我有一定的Java基礎(chǔ),因此我是直接通過網(wǎng)站來學習Python的,而不是通過書籍。首先推薦兩個免費的,功能相似的網(wǎng)站,新手可以在這里學習Python基本概念,分別是Python菜鳥教程以及w3cschool Python,大家可以自行到搜索引擎中去搜索,教學內(nèi)容都有中文版,因此閱讀起來也沒有困難。由于二者功能相似,因此找一個學就夠了。這兩個網(wǎng)站不僅有基本知識,還有網(wǎng)絡(luò)編程,數(shù)據(jù)庫開發(fā)等,可以說是相當為讀者的多樣性需求考慮了。
書籍
如果你覺得使用網(wǎng)站學習不適應(yīng),那么我推薦一本Python書籍《Python編程 從入門到實踐》,這是由美國作者為所有Python初學者編寫的,這里除了基本的Python概念,如字典,用戶輸入與white循環(huán),if語句,函數(shù),類,文件,測試等等,還有專門的模塊教你實戰(zhàn),包括編寫武裝飛船,外星人等小游戲;數(shù)據(jù)可視化實戰(zhàn);還有Python web框架以及使用,可以說是一本非常全面的功能性書籍了?;旧虾w了國內(nèi)Python使用的方方面面。這本書是我在網(wǎng)絡(luò)上基本看懂了Python基本數(shù)據(jù)結(jié)構(gòu)后買的,其實有點后悔,覺得應(yīng)該早點買的。
學習方法
最后就是學習方法,在學習過程中,一定要勤于記筆記以及自己的疑惑,并且將當前學習的內(nèi)容反復(fù)與過去的知識做對比,比如我在看w3cschool的時候,就發(fā)現(xiàn)Python與java不同,java在創(chuàng)建變量的時候,會聲明這個變量的類型是int還是str,而在Python中,像list和tuple就是通過中括號[],和圓括號()來區(qū)分的,也就是說[1,2,'a']是一個list,而(1,2,'a')就是一個tuple了,不僅如此,在后面用到dic和set的時候,還有其他的差異。如果能夠主動去做對比,去發(fā)現(xiàn)差異,那么在后續(xù)使用過程中,就能盡早得心應(yīng)手,從而實現(xiàn)加快學習效率的目的。
以上是我的Python自學經(jīng)驗以及建議,如果對你有所幫助,歡迎點贊留言。
我是蘇蘇思量,來自bat的Java開發(fā)工程師,每日分享科技類見聞,歡迎關(guān)注我,與我共同進步。
Python應(yīng)該算是一門很簡單的編程語言,素來有著入門容易深入難的傳言,當然我也這樣認為,所以我認為初學Python可以從下面幾點入手:
第一,找一本你覺得不錯的Python基礎(chǔ)書,畢竟書里的很多基礎(chǔ)知識點還是比較系統(tǒng)的,這更適合新人學習。
第二,找一些案例分析的視頻,單純的看書當然是枯燥的,在看書學某些知識點時,可以在網(wǎng)上找找有沒有相應(yīng)知識點的案例分析視頻,看看,這樣更便于你理解知識點。
第三,哪怕是入門,也應(yīng)該要實操。學和練肯定是分不開的,所以你在學基礎(chǔ)知識點和看別人的案例分析的時候,可以自己著手練練,敲敲代碼,這個并不會很難,如果視頻里面能送源代碼和教程當然更好,如果沒有,那很多書里也會有針對知識點的案例實操練習,你也可以跟著動手練一下。
第四,一個學Python,似乎還是會比較枯燥,你可以去網(wǎng)上找找有沒有跟你一樣也在學習的,這樣有個學習的伙伴,不僅學習中可以相互交流探討,以后也許還可以合作項目呢。
(我每天七點半都會寫一些連載的Python教程,你可以來看看,說不定能幫到你)
無論題主是否已經(jīng)學習了一些其他的編程語言,在開始學習Python時,都應(yīng)該先從Python的基本概念學起,這樣在之后的編程實戰(zhàn)中就能盡量減少因為不熟悉語言機制而出現(xiàn)的錯誤。
《Python編程:從入門到實踐》,作者:Eric Matthes,譯者:袁國忠
![]()
這是一本Python入門書,共分為入門和實踐兩個部分:第一部分介紹了Python編程的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語句、類、文件與異常、代碼測試等內(nèi)容;第二部分通過三個項目(Python 2D游戲開發(fā),利用數(shù)據(jù)生成交互式信息圖,以及創(chuàng)建和定制簡單的Web應(yīng)用)將理論付諸于實踐。幫助讀者理解Python編程的概念及用途。使用Python 2或Python 3的讀者都可以利用這本書來學習。
《Python編程快速上手——讓繁瑣工作自動化》,作者:[美] Al Sweigart 斯維加特,譯者:王海鵬
![]()
這本書致力于教大家利用Python 編程,在幾分鐘內(nèi)完成手工需要幾小時的工作。比如:在一個文件或多個文件中搜索文本;創(chuàng)建、更新、移動和重命名文件和文件夾;搜索網(wǎng)頁和下載的在線內(nèi)容;在任意大小的Excel電子表格中更新和格式化數(shù)據(jù)……這本書一步一步地引導你完成每個程序,并用你學到的新技能來讓類似的任務(wù)自動化。你不用再浪費時間去做任何可以自動化的工作。即使你從未寫過一行代碼,也可以讓計算機來做繁重的工作。在學習爬蟲以前,可以先利用這些小功能來體會一下Python編程帶來的便利。
《Python基礎(chǔ)教程 第3版》,作者:[挪]Magnus Lie Hetland,譯者:袁國忠
![]()
這本書專門針對Python 3進行講解,包括了Python程序設(shè)計的方方面面:從列表、元組等基礎(chǔ)概念,到抽象、異常等相對高級的話題,再到將Python與數(shù)據(jù)庫、網(wǎng)絡(luò)、C語言等工具結(jié)合使用,Python程序的測試、打包和發(fā)布。最后,這本書按照實際項目開發(fā)的步驟向讀者介紹了10個具有實際意義的Python項目的開發(fā)過程,供讀者練習并體會代碼功能。
僅僅學習一些分散的基礎(chǔ)知識還不能讓你熟練地開發(fā)一個綜合功能,最好能利用幾個通用的應(yīng)用來體會Python語言中各種知識點的應(yīng)用場景,并將其融會貫通,舉一反三。
《Python核心編程(第3版)》,作者:[美]Wesley Chun,譯者:孫波翔 李斌 李晗
![]()
這本書是經(jīng)典暢銷圖書《Python核心編程(第二版)》的全新升級版本,全書共分為3部分。第1部分講解了Python的一些通用應(yīng)用,包括正則表達式、網(wǎng)絡(luò)編程、Internet客戶端編程等內(nèi)容;第2部分講解了與Web開發(fā)相關(guān)的主題;第3部分則包括文本處理以及一些其他內(nèi)容。適合具有一定基礎(chǔ)的Python開發(fā)人員作為進階教程來學習。
既然題主想利用Python從網(wǎng)上爬取數(shù)據(jù),那么閱讀一些網(wǎng)絡(luò)爬蟲方面的書籍就非常有必要了。
《Python 3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)》,作者:崔慶才
![]()
這本書介紹了如何利用Python 3開發(fā)網(wǎng)絡(luò)爬蟲,書中討論了urllib、requests、正則表達式、Beautiful Soup、XPath、pyquery、數(shù)據(jù)存儲、Ajax數(shù)據(jù)爬取等內(nèi)容,接著通過多個案例介紹了不同場景下如何實現(xiàn)數(shù)據(jù)爬取,最后介紹了pyspider框架、Scrapy框架和分布式爬蟲,適合Python程序員閱讀。
得益于Python強大而豐富的庫以及數(shù)據(jù)分析能力,Python在神經(jīng)網(wǎng)絡(luò)、深度學習等方面都已經(jīng)有了成熟的包可供調(diào)用。除了網(wǎng)絡(luò)爬蟲以外,題主也可以對Python在其他方向的應(yīng)用進行擴展學習。
《Python神經(jīng)網(wǎng)絡(luò)編程》,作者:[英]塔里克·拉希德,譯者:林
![]()
這本書從簡單的思路著手,利用Python語言詳細介紹了神經(jīng)網(wǎng)絡(luò)工作所須的基礎(chǔ)知識,共包括三部分:第1部分介紹基本的思路,包括神經(jīng)網(wǎng)絡(luò)底層的數(shù)學知識,第2部分介紹了學習Python編程的流行方法,并使用Python構(gòu)建神經(jīng)網(wǎng)絡(luò),讓其像專家所開發(fā)的網(wǎng)絡(luò)那樣工作(如手寫字母的識別)。第3部分擴展介紹了如何將神經(jīng)網(wǎng)絡(luò)的性能提升到工業(yè)應(yīng)用的層級,甚至讓其在Raspberry Pi(樹莓派,一款單板計算機)上工作。
這幾本書基本覆蓋了從學習基礎(chǔ)概念到利用Python完成實際工作的完整學習路線,建議題主根據(jù)自己的程度進行針對性的學習。不必急于求成,畢竟在學習過程中的每一條bug都可能讓你學到一點新技能。
更多關(guān)于IT、經(jīng)管和心理學精彩內(nèi)容和圖書推薦請大家關(guān)注@人民郵電出版社
python是門感覺編程語言,入門簡單,現(xiàn)在社會上有許許多多的培訓機構(gòu)開設(shè)python這么課程,如果你不想報名參加培訓,純粹自學的話,我建議如下:
1.買幾本python的書,入門級的書一本、進階版的書一本,關(guān)于庫或者數(shù)據(jù)結(jié)構(gòu)的書一本。沒有書,連個自學的儀式感都沒有。自學是極度自律的行為,必須給自己規(guī)劃好學習的時間,學的時候要看書,看不懂再去百度搜索,這樣效果好。提醒一點,自學的時候盡量遠離手機,老是手癢刷抖音、看視頻、發(fā)微信,那你就不適合自學,趁早放棄自學的念頭吧。
2.網(wǎng)上找關(guān)于python的專業(yè)網(wǎng)站,比如菜鳥教程網(wǎng)、csdn官網(wǎng)等,這些網(wǎng)上有大量的電子版教程資料,可以結(jié)合書一起學習。
3.推薦上B站網(wǎng),上面有很多UP主分享的學習視頻,可供大家自學。
4.以上都找學習的資料,那么自學還需要什么方法。python語言有別于傳統(tǒng)編程語言,它涉及的方向很多,建議從海龜畫筆入門,然后再系統(tǒng)自學初級課程、高級課程。如果想從事其他方向,還需要自學web基礎(chǔ)、數(shù)據(jù)庫基礎(chǔ)等。
5.學習任何一門編程語言,一定要寫代碼,重要的事情我說三遍。
我是蘇州唐老師,歡迎大家評論點贊
最早接觸python的時候,他并沒有現(xiàn)在這么火,我也沒把他太當回事,那時候我對python的印象就是給運維人員使用的一門很古老的語言,顯然隨著tensorflow(以下簡稱tf)的興起,python開始頻繁的進入我們視野,不知不覺他就火成了今天這個樣子。
當然學習一門語言,也是單純的跟風,是因為像tf這樣優(yōu)秀的項目,雖然支持的主流語言比較多,比如go、java、javascript(前幾天剛公布),但現(xiàn)在能找到的,大部分tf的樣例,依然是python寫的,所以,python的優(yōu)勢不言而喻。
還有對我特別有吸引的力的opencv(一款非常優(yōu)秀的跨平臺開源視覺庫),也和tf的情況類似,這讓我意識到,必須要系統(tǒng)的、深入的學習一下python了,如果你和我一樣也是喜歡折騰的程序員,我想這種情況你也一定遇到過。這就是我學習python的初衷,也是這篇文章誕生的原因。
自我介紹一下先,我是08年用了一年半的時間主學了java和C#語言,之后4-5年的工作一直從事的是C#方面的開發(fā),直到前幾年,因為工作的原因,先后學習并使用了nodejs、golang、以及手機混合開發(fā)。其中手機混口開發(fā)包括:dcloud、deviceone、xamarin、reactnative等,nodejs的框架有:express、thinkjs、pomelo等,所以對于如何學習一門新語言,對我來說是手到擒來,輕而易舉的事(自信如我)。
學習思路
學習所有語言的套路基本都是一樣的,主要來自以下幾點:
配置開發(fā)環(huán)境
了解語法特點
數(shù)據(jù)類型、數(shù)據(jù)轉(zhuǎn)換
if判斷、循環(huán)使用
函數(shù)、類使用
異常處理
IO操作
垃圾回收機制
多線程開發(fā)
心里有了學習的方向之后,只需要深入淺出的查看對于的資料,把以上的問題以此消除,基本上也就掌握了這門語言的基礎(chǔ)了。
如果要深入理解這門語言的精髓和加深理解這個python就要了解一下問題了:
python語言誕生的原因和解決的問題
python的優(yōu)缺點
python設(shè)計的原理
python的語法特點
自學目錄
開發(fā)環(huán)境搭建
基礎(chǔ)
變量
數(shù)據(jù)類型
條件判斷和循環(huán)
函數(shù)和類
模塊
文件操作
異常處理
垃圾回收gc
多線程
時間模塊
http模塊
以上的目錄為本人學習的指導思路!
當然可以自學了,我都快30了,還在自學Python,目前在看優(yōu)就業(yè)的免費網(wǎng)課,畢竟特殊時期不能出門,再不學習會,感覺自己都快要廢掉了呢。
可能你現(xiàn)在剛開始,不知道怎么自學,確實,一開始都是比較懵逼的,你可以先給自己列個計劃,一天中學習幾個小時,然后通過網(wǎng)課和網(wǎng)上的教程跟著學習。
不管怎么學,最好是成系列的學習,不要東一榔頭西一棒槌的,這樣就亂成一鍋粥了,可以在網(wǎng)上搜搜Python的自學路線,跟著路線來一部分一部分的學習,這樣比較有條理。
找本書看看,開臺電腦下載些代碼,學學改改練練就會了。我家小子就這樣自學的c++和python 。
無論題主是否已經(jīng)學習了一些其他的編程語言,在開始學習Python時,都應(yīng)該先從Python的基本概念學起,這樣在之后的編程實戰(zhàn)中就能盡量減少因為不熟悉語言機制而出現(xiàn)的錯誤。
《Python編程:從入門到實踐》,作者:Eric Matthes,譯者:袁國忠
這是一本Python入門書,共分為入門和實踐兩個部分:第一部分介紹了Python編程的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語句、類、文件與異常、代碼測試等內(nèi)容;第二部分通過三個項目(Python 2D游戲開發(fā),利用數(shù)據(jù)生成交互式信息圖,以及創(chuàng)建和定制簡單的Web應(yīng)用)將理論付諸于實踐。幫助讀者理解Python編程的概念及用途。使用Python 2或Python 3的讀者都可以利用這本書來學習。
《Python編程快速上手——讓繁瑣工作自動化》,作者:[美] Al Sweigart 斯維加特,譯者:王海鵬
這本書致力于教大家利用Python 編程,在幾分鐘內(nèi)完成手工需要幾小時的工作。比如:在一個文件或多個文件中搜索文本;創(chuàng)建、更新、移動和重命名文件和文件夾;搜索網(wǎng)頁和下載的在線內(nèi)容;在任意大小的Excel電子表格中更新和格式化數(shù)據(jù)……這本書一步一步地引導你完成每個程序,并用你學到的新技能來讓類似的任務(wù)自動化。你不用再浪費時間去做任何可以自動化的工作。即使你從未寫過一行代碼,也可以讓計算機來做繁重的工作。在學習爬蟲以前,可以先利用這些小功能來體會一下Python編程帶來的便利。
《Python基礎(chǔ)教程 第3版》,作者:[挪]Magnus Lie Hetland,譯者:袁國忠
這本書專門針對Python 3進行講解,包括了Python程序設(shè)計的方方面面:從列表、元組等基礎(chǔ)概念,到抽象、異常等相對高級的話題,再到將Python與數(shù)據(jù)庫、網(wǎng)絡(luò)、C語言等工具結(jié)合使用,Python程序的測試、打包和發(fā)布。最后,這本書按照實際項目開發(fā)的步驟向讀者介紹了10個具有實際意義的Python項目的開發(fā)過程,供讀者練習并體會代碼功能。
僅僅學習一些分散的基礎(chǔ)知識還不能讓你熟練地開發(fā)一個綜合功能,最好能利用幾個通用的應(yīng)用來體會Python語言中各種知識點的應(yīng)用場景,并將其融會貫通,舉一反三。
《Python核心編程(第3版)》,作者:[美]Wesley Chun,譯者:孫波翔 李斌 李晗
這本書是經(jīng)典暢銷圖書《Python核心編程(第二版)》的全新升級版本,全書共分為3部分。第1部分講解了Python的一些通用應(yīng)用,包括正則表達式、網(wǎng)絡(luò)編程、Internet客戶端編程等內(nèi)容;第2部分講解了與Web開發(fā)相關(guān)的主題;第3部分則包括文本處理以及一些其他內(nèi)容。適合具有一定基礎(chǔ)的Python開發(fā)人員作為進階教程來學習。
既然題主想利用Python從網(wǎng)上爬取數(shù)據(jù),那么閱讀一些網(wǎng)絡(luò)爬蟲方面的書籍就非常有必要了。
《Python 3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)》,作者:崔慶才
這本書介紹了如何利用Python 3開發(fā)網(wǎng)絡(luò)爬蟲,書中討論了urllib、requests、正則表達式、Beautiful Soup、XPath、pyquery、數(shù)據(jù)存儲、Ajax數(shù)據(jù)爬取等內(nèi)容,接著通過多個案例介紹了不同場景下如何實現(xiàn)數(shù)據(jù)爬取,最后介紹了pyspider框架、Scrapy框架和分布式爬蟲,適合Python程序員閱讀。
得益于Python強大而豐富的庫以及數(shù)據(jù)分析能力,Python在神經(jīng)網(wǎng)絡(luò)、深度學習等方面都已經(jīng)有了成熟的包可供調(diào)用。除了網(wǎng)絡(luò)爬蟲以外,題主也可以對Python在其他方向的應(yīng)用進行擴展學習。
《Python神經(jīng)網(wǎng)絡(luò)編程》,作者:[英]塔里克·拉希德,譯者:林
這本書從簡單的思路著手,利用Python語言詳細介紹了神經(jīng)網(wǎng)絡(luò)工作所須的基礎(chǔ)知識,共包括三部分:第1部分介紹基本的思路,包括神經(jīng)網(wǎng)絡(luò)底層的數(shù)學知識,第2部分介紹了學習Python編程的流行方法,并使用Python構(gòu)建神經(jīng)網(wǎng)絡(luò),讓其像專家所開發(fā)的網(wǎng)絡(luò)那樣工作(如手寫字母的識別)。第3部分擴展介紹了如何將神經(jīng)網(wǎng)絡(luò)的性能提升到工業(yè)應(yīng)用的層級,甚至讓其在Raspberry Pi(樹莓派,一款單板計算機)上工作。
這幾本書基本覆蓋了從學習基礎(chǔ)概念到利用Python完成實際工作的完整學習路線,建議題主根據(jù)自己的程度進行針對性的學習。不必急于求成,畢竟在學習過程中的每一條bug都可能讓你學到一點新技能。
更多關(guān)于IT、經(jīng)管和心理學精彩內(nèi)容和圖書推薦請大家關(guān)注@人民郵電出版社
如果你在各方面零基礎(chǔ)的話,能報個班也是不錯的選擇,或者也可以跟著官方教程堅持學習。
Python 的入門學習還是比較簡單的,建議跟著教程多動手多練習。
跟著官方文檔學習基礎(chǔ)語法和標準庫的使用。先跟著Python 官方教程[中文版]學習,在學習完官方教程之后,在瀏覽一下Python 標準庫[中文版],這部分把之前在官方教程里面用到的標準庫過一遍,其他的標準庫快速瀏覽一下,有個印象即可,以后有用到的時候再回來查。
如果覺得看官方教程比較枯燥,我可找本書來學習,推薦《Python 編程 從入門到實踐》??粗槐揪蛪蛄恕?/p>
學習完上面的內(nèi)容,就能入門 Python 開發(fā),但這還不夠,工作中還會用到其他多方面的知識。
想做一個爬蟲,那么你還得學習 HTTP,HTML,JavaScript 等知識,推薦學習 requests 庫 + BeautifulSoup 來實現(xiàn)你的第一個爬蟲。
想做一個網(wǎng)站,除了上面提到的 HTTP,HTML,JavaScript 你還需要學習 CSS,SQL,Linux,你還要學習一個 Python 的 Web 框架,推薦 Flask 作為你的學習入門框架。
如果你還想用 Python 做數(shù)據(jù)分析,那么你就需要學習 Numpy,Pandas,Matplotlib。
機器學習,人工智能這些等你把上面的學完之后再關(guān)注也不遲。
如果覺得自己看文檔,看書很無趣,那就找視頻教程來學習。
Python 超詳細入門教程https://pan.baidu.com/s/1BtEgF0c6ct6MBFC_Vg748g 提取碼:mwh2Python 從入門到精通(小白必看)https://pan.baidu.com/s/103qZCNP1zlHB_pW8qm3WjA 提取碼:s5ptPython爬蟲從入門到精通(精華版)https://pan.baidu.com/s/1wEcSqKA_Ec5CbyBf0CPjcA 提取碼:xg2pWeb前端入門https://pan.baidu.com/s/1tdauUbLWoxLbl63iMJj32w 提取碼:ijpj最經(jīng)典的Flask框架入門https://pan.baidu.com/s/1zvUN9PfXHlr7Q-gzJzx1bw 提取碼:vdwo數(shù)據(jù)分析入門教程https://pan.baidu.com/s/1uQ-sHnaq7Fphgu06LUkx4Q 提取碼:dzem
這是我在過去幾家公司招聘到工程師,Python入職培訓的過程。
時間分為4周,全部自學,僅提供大綱。適用于Web方向:
1、Week1:讀完《簡明Python教程》,適應(yīng)Python開發(fā)環(huán)境
2、Week2:寫個爬蟲,需要深入了解re、urllib2、sqlite3、threading,Queue等幾個模塊。需要用上多線程抓取,正則表達式分析,并發(fā)資源控制,重新開啟程序自動繼續(xù)抓取和分析
3、Week3:學習一種Web開發(fā)框架,推薦Flask、webpy之類的,學個數(shù)據(jù)庫接口如sqlite3,寫個簡單的web應(yīng)用如博客
4、Week4:給產(chǎn)品做個小功能并走完測試和上線流程,各個時期是不同的
我在之前的幾家公司招聘工程師時,學過Python的其實較少。更常見的情況是人聰明,招來再學Python。就是按照如上流程。這個流程安排的挺輕松的,我找到的所有人都成功完成了這個流程。并且之后工作也很順利。
我覺得學習一門語言最好的就是有一些項目,然后邊學邊。
其實所有的軟件開發(fā)語言,學習的路線圖基本差不多,都遵循一樣的學習方法和規(guī)律。
如果你對python毫不了解,首先你得知道這個大蟒蛇是啥,要對python有個基礎(chǔ)的認識,比如python是什么,有什么特點,和其他的開發(fā)語言有什么區(qū)別,還有就是python能干什么,有哪些發(fā)展方向等等。這些基礎(chǔ)的認識可以幫助你搭建起python的整體知識框架。
然后開始學習python的語法、數(shù)據(jù)類型和編碼規(guī)則等。這些知識在網(wǎng)上可以找到一大堆,當然也可以買一本關(guān)于python的書來系統(tǒng)的學習下??傮w來說,相比起其他的語音,python的語法要簡單很多,所以這塊不用擔心,一般人都能很快掌握。
之后就是最重要的,開始練習寫python程序,和所有的軟件語音一樣,先寫個“helloworld”。接下來深入練習的話,可以在網(wǎng)上找找“python 100例教程”,這種教程有很多,也都類似,找一個跟著教程多加練習就行,熟能生巧嘛。
經(jīng)過大量練習后,你基本就對python很熟悉了,可以進行一般的python編程了。之后就要研究怎么進行實戰(zhàn)了,如果你是工作上用到python,那樣最好,可以在實際項目中鍛煉和成長。如果只是個人愛好而自學的,可以研究下用python去做些實際的東西,下邊介紹幾個python的使用方向。
1 網(wǎng)絡(luò)爬蟲,使用python寫爬蟲還是很流行的,各種開源爬蟲代碼也很多,前期可以進行模仿,熟練后就可以寫自己的爬蟲代碼,進行實際網(wǎng)站的數(shù)據(jù)收集了。
2 數(shù)據(jù)圖形化 ,利用python強大的數(shù)學庫和圖像處理庫,可以畫出各種復(fù)雜的圖形,有點matlab的意思,當然也可以進行圖片處理,網(wǎng)上曾經(jīng)有大神用python實現(xiàn)過ps的功能,你可以自己在網(wǎng)上找找例子。
3 小游戲開發(fā),當你的python能力已經(jīng)很強大了,可以自己嘗試開發(fā)一些小游戲,比如曾經(jīng)微信打飛機游戲等等,當玩著自己開發(fā)的游戲時,成就感一定爆棚。
總的來說,python入門還是比較簡單的,但想要學好就得靠持續(xù)的努力了,現(xiàn)在python的發(fā)展還是很好的,所以一定要堅持。
現(xiàn)在python越來越火,很多人都開始學習python,包括本人。那么如何在一個較短的時間內(nèi)入門python相信是大家比較關(guān)心的一個問題。下面本人總結(jié)下自己自學python的一些經(jīng)驗,希望能夠幫到你。
我最開始學習python的時候,心想著學東西應(yīng)該要買本對應(yīng)的書籍看,于是我立馬在網(wǎng)上買了本python核心編程的書看,但是看了一段時間后,發(fā)現(xiàn)還是寫不出來什么東西,而且書很厚,越看越看不下去,入門python來說看書籍不是一個好的選擇。下面是我快速入門看的一些資料。
學習python的一個很好的教程就是廖雪峰python教程,可以百度搜索到,這篇教程的內(nèi)容講解的非常透徹,通俗易懂。很多人入門python都靠廖雪峰的教程。
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
其次相對與閱讀文字教程來說,觀看視頻教程也是一個很好的選擇,視頻教程網(wǎng)上有很多,直接搜索python教程即可,我當時看的是中谷python教程,你也可以參考下http://www.icoolxue.com/album/show/113 在觀看視頻的時候,你要多動手操作,可以同步視頻教程操作,能更好的加深你學習的知識。
再者,學習python多去閱讀其他人編寫的python代碼,學習他們編程的思路,你可以通過公司的有python編程經(jīng)驗的同事編寫的代碼,或者你也可以通過github網(wǎng)站尋找開源項目源碼閱讀,這都能讓你更快的入門編程
最后,當然是學習python最終要的一點也是學習編程語言最重要的一點就是多寫,你可以根據(jù)日常的一些工作來思考一個可寫的項目,自己動手操作,在寫的過程發(fā)現(xiàn)問題,通過網(wǎng)上搜索找尋答案,比如我之前買車票的時候,就想到了用python去實現(xiàn)自動刷票功能,于是就動手編寫了出來。這個過程能讓你學習到很多python的方法庫。
這就是你的苦惱。。解決方案我覺得就是模仿,先找一個別人寫過的簡單腳本看看,再找個會的人講解下。從簡單入手慢慢就會了。無非就是梳理邏輯,然后用代碼實現(xiàn)。
1.選本書,我當時學習python是用的
Python核心編程第二版,現(xiàn)在出了第三版了,感覺挺好,深入淺出,建議第一遍可以粗略看一遍,有個大致印象,第二遍再細讀,養(yǎng)成良好的記筆記的習慣。
2.如果對書本接受慢,效果差,可以選擇視頻教程,推薦let's python 零碎時間可以看一段,看后最好要多實踐,把視頻里的例子自己敲一遍,運行一下,嘗試修改出現(xiàn)的問題,運行好后可以舉一反三,修改其中的代碼,配合print打印中間過程變量狀態(tài),加深運行流程的理解。
3.有了一定基礎(chǔ),可以嘗試做做小的爬蟲,用小成就激勵自己,繼續(xù)學習,繼續(xù)提升,涉及的庫,可以查下requests bs4 xpath scrapy等。
4.需要自己堅持持續(xù)學習,可以去github上搜一些開源的python代碼,學習使用一下,多用多練。祝你學習python快樂,人生苦短,我用python
Python隨著人工智能的火爆在編程語言排行榜上排名也是一路上漲,這兩年如同開掛。其實以前就吹Python是個萬能語言,除了生孩子啥都會。網(wǎng)上的教程也是一搜一堆一堆,資料非常豐富。
我想轉(zhuǎn)到Python,實在是因為之前java,Android開發(fā)浪費在環(huán)境啊調(diào)試運行之類上面時間太多了。
那么初學Python我覺得可以跟著做項目,從解決問題的角度出發(fā)去學習,有目標的學習通常效率更高。而不是說我學了兩月不知道能干嘛?;镜恼Z言基礎(chǔ)知識可以參考個網(wǎng)站或者書本或者直接百度。
項目就看個人興趣方向了。可以去做個簡單的網(wǎng)站,或者爬蟲,或者數(shù)據(jù)分析,或者小游戲,等等。主要看你的興趣方向在哪里啦,然后在這個方向上深入研究。比如你的興趣在網(wǎng)站,那么就別花太多時間去研究游戲或者機器學習的啦,要用到再去學習也不遲。其實現(xiàn)在屬于信息爆炸時代,不要過度學習了再做項目。因為你可能會發(fā)現(xiàn)學習了半天沒做實際項目或者沒有在項目里用到的,過不了幾天你就忘記了。
1,首先必須選用一個好的ide。推薦使用vs code+anaconda
2,然后學習ide必要的操作,提升自己的工作效率。
3,同時可以開始學習一些基本語法,這階段切記不能往太深去學,比如只需要學會定義方法,list,dict,元組的常規(guī)使用。裝飾器和元編程可以后續(xù)再學習。
4,等你可以完成一些簡單的數(shù)據(jù)處理任務(wù),你即可挑選一個感興趣的方向(web,機器學習等),之后就是重點學習一些庫的使用了
原則就是讓你的學習反饋路徑盡可能短。
Python 入門攻略
既然選擇學習 Python,那你就要明確 Python 和其它編程語言相比的優(yōu)勢,之后,我也會針對 Python 入門,推薦一些書籍和教程,主要是入門,由淺入深。
在這之前,我想講一下我對學習的看法,如果真的想在這一行深耕下去,盡量選擇自學,不用上培訓班!
我覺得沒有必要,并且即便你入門了,每天依然會遇到各種各樣的問題,都要靠自己的自學能力去解決,培訓機構(gòu)也頂多是帶你入門,在你以后的工作和學習中,依然是靠自己。如果什么都要別人拉著你,那是不是太被動了?所以心態(tài)要好,價值觀要正,一步一步慢慢來,穩(wěn)扎穩(wěn)打。
Python 有哪些優(yōu)點?
簡單
Python 非常易于讀寫,遇到問題時,程序員可以把更多的注意力放在問題本身上,而不用花費太多精力在程序語言、語法上。
Python 作為解釋型語言,大大減少開發(fā)者工作量,寫過代碼的同學都清楚,這種易用性導致 python 龐大的用戶群體及繁榮的社區(qū)。
面向?qū)ο?/p>
Python 既支持面向過程,也支持面向?qū)ο缶幊?。在面向過程編程中,程序員復(fù)用代碼,在面向?qū)ο缶幊讨校褂没跀?shù)據(jù)和函數(shù)的對象 盡管面向?qū)ο蟮某绦蛘Z言通常十分復(fù)雜,Python 卻設(shè)法保持簡潔。
豐富的第三方庫
Python 社區(qū)創(chuàng)造了一大堆各種各樣的 Python 庫。在他們的幫助下,你可以管理文檔,執(zhí)行單元測試、數(shù)據(jù)庫、web 瀏覽器、電子郵件、密碼學、圖形用戶界面和更多的東西。所有東西包括在標準庫,然而,除了它,還有很多其他的庫。
Python語言的用途
多年來,Python 在各種流行編程語言中一直排名靠前。它幾乎可以適用任何開發(fā),它旨在提高程序員的開發(fā)效率而不在于他們編的代碼。Python 適用于網(wǎng)站、桌面應(yīng)用開發(fā),自動化腳本,復(fù)雜計算系統(tǒng),科學計算,生命支持管理系統(tǒng),物聯(lián)網(wǎng),游戲,機器人,自然語言處理等很多方面。
而且,既使對于那些從沒有開發(fā)經(jīng)驗的人來講,Python 的代碼也是簡潔易懂的。由于 Python 程序代碼簡單,所以和與其他程序語言相比,后期的程序維護更容易,更舒心。從商業(yè)角度來看,需要的成本降低,程序員的效率提高。
Java 復(fù)雜,但能適應(yīng)不同環(huán)境,Python 簡單易學
Java 是一種嚴格的類型語言,這意味著必須顯式聲明變量名。相比之下,動態(tài)類型的 Python 則不需要聲明變量。在編程語言上有許多關(guān)于動態(tài)和靜態(tài)類型的爭論,但有一點應(yīng)該注意:Python 是一種語法簡單的功能強大的語言,能夠通過編寫腳本就提供優(yōu)秀的解決方案,并能夠快捷地部署在各個領(lǐng)域。
Java 可以創(chuàng)建跨平臺的應(yīng)用程序,而 Python 幾乎兼容當前所有操作系統(tǒng)。對新手來講, Python 比 Java 更容易上手,而且代碼易讀性強,但是如果你想你的代碼可以在任何地方都能執(zhí)行的話,那么還是選擇 Java 吧。Java 在創(chuàng)建網(wǎng)絡(luò)應(yīng)用方面比 Python 也有優(yōu)勢。
Java 比 Python 更復(fù)雜,沒有技術(shù)背景的人學起來并非易事,但從另一方面來看,如果你想要適用于不同的環(huán)境,還是應(yīng)該選擇 Java。
Python 入門書籍推薦
《父與子的編程之旅》
本書是一本家長與孩子共同學習編程的入門書。作者是一對父子,他們以 Python 語言為例,詳盡細致地介紹了Python 如何安裝、字符串和操作符等程序設(shè)計的基本概念,介紹了條件語句、函數(shù)、模塊等進階內(nèi)容,最后講解了用 Python 實現(xiàn)游戲編程。
書中的語言生動活潑,敘述簡單明了。 為了讓學習者覺得編程有趣,本書編排了很多卡通人物及場景對話,讓學習者在輕松愉快之中跨入計算機編程的大門。
《笨辦法學 Python》
這本書幾乎都被推爛了,但也是我想要推薦的首選,特點是以習題為大綱,迫使讀者動手、動腦,在看書的同時提升編程水平。
適合對計算機了解不多,沒有學過編程,但對編程感興趣的讀者學習使用。這本書以習題的方式引導讀者一步一步學習編程,從簡單的打印一直講到完整項目的實現(xiàn),讓初學者從基礎(chǔ)的編程技術(shù)入手,最終體驗到軟件開發(fā)的基本過程。
雖然,他對于原理,基礎(chǔ)理論沒有過多的講解,但是作為一本入門上手練習的書,它還是值得推薦的。主要是它對于非科班的學習,趣味性是足夠的。
優(yōu)點:從解決問題出發(fā),注重實踐性。
缺點:我對其內(nèi)容編排、先后順序有意見。比如前半本書洋洋灑灑一大堆東西,連文件讀寫都包括了,但竟然沒有if,沒有 if 還寫什么代碼(滑稽),另外對 “引用” 等 Python 的關(guān)鍵知識點處理太模糊,重點不突出。
解決方法也簡單:再買一本《Python 編程:從入門到實戰(zhàn)》或者《Python 學習手冊》(只需要上冊)。把《笨辦法學 Python》作為練習冊即可。
《Python編程:從入門到實踐》
針對所有層次的 Python 讀者而作的 Python 入門書。全書分兩部分:第一部分介紹用 Python 編程所必須了解的基本概念,包括 matplotlib、NumPy 和 Pygal 等強大的 Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內(nèi)容;第二部分將理論付諸實踐,講解如何開發(fā)三個項目,包括簡單的 Python 2D 游戲開發(fā)如何利用數(shù)據(jù)生成交互式的信息圖,以及創(chuàng)建和定制簡單的 Web 應(yīng)用,并幫讀者解決常見編程問題和困惑。
廖雪峰的 Python3 教程
https://www.liaoxuefeng.com/wiki/1016959663602400
廖雪峰的教程對零基礎(chǔ)的學習者來說難度跳躍大了點,更適合有一定基礎(chǔ)的同學。如果對 Python 或者編程沒有一點基礎(chǔ),看到后面,可能就不太能看懂了,這就需要你先學習更簡單易懂的內(nèi)容,當你把一些基本語言學會了,再來看這個教程,就沒什么問題。
學習編程不是一件簡單的事,需要你不斷的學習,實戰(zhàn),進階,學習,實戰(zhàn),進階不斷往復(fù),積累經(jīng)驗。
其它編程書籍
Head First Python
Dive Into Python
Python 核心編程
深入理解 Python
Python 標準庫
Python 編程指南
視頻教程
哈佛大學公開課:計算機科學cs50
這門課對于我這種初學者來說,簡直是福音?。?!通過這門課,你可以了解到計算機世界的基礎(chǔ),為你以后的學習打下良好的基礎(chǔ)!沒看過的同學一定要去看!
中國大學慕課:Python語言程序設(shè)計
這門課錄制的水平很高,還有對應(yīng)的在線習題,學到最后還能有證書拿,每周同步進行的話也不會有太大的壓力。
中國大學慕課: Python網(wǎng)絡(luò)爬蟲與信息提取
上面那門慕課老師開設(shè)的爬蟲課程,很棒很詳細,我學習爬蟲就是跟著這里入門的!
中國大學慕課:用Python玩轉(zhuǎn)數(shù)據(jù)
講了一些用 Python 做數(shù)據(jù)分析的基本方法,老師很有意思,不過前面的章節(jié)還涉及到一些基礎(chǔ)的部分,可以當做再復(fù)習一遍啦
嵩天老師的其他Python課程
這名老師開設(shè)了很多 Python 課程,各種方向的都有,其實學到這里,可以多多嘗試一下,發(fā)現(xiàn)自己喜歡的方向。
Python是什么:
Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無聊的圣誕節(jié)而編寫的一個編程語言。
創(chuàng)始人Guido van Rossum是BBC出品英劇Monty Python’s Flying Circus(中文:蒙提·派森的飛行馬戲團)的狂熱粉絲,因而將自己創(chuàng)造的這門編程語言命名為Python。
人生苦短,我用python,翻譯自\"Life is short, you need Python\"
Python英式發(fā)音:/?pa?θ?n/ ,中文類似‘拍森’。而美式發(fā)音:/?pa?θɑ?n/,中文類似‘拍賞’。我看麻省理工授課教授讀的是‘拍賞’,我覺得國內(nèi)大多是讀‘拍森’吧。
謝謝邀請回答。
作為一個在編程領(lǐng)域耕耘十幾年的it碼農(nóng),用python做大數(shù)據(jù),數(shù)據(jù)分析,人工智能也做了大概得有10年,回答這個問題也很適合的。
對前面的問題解答,python大大都做了一一仔細查看,但不得不遺憾的說,都沒有抓住痛點,解決問題的回答才是對題主最有用的。所以說前面的解答可能都不是對題主特別有用的價值的建議,因為他們根本沒有根據(jù)題主本身的情況來進行解答。
自學python分為兩種,第1種情況是有基礎(chǔ)。
以前曾經(jīng)有過其他的編程經(jīng)驗的開發(fā)者,現(xiàn)在自學python。這個我談?wù)勔郧坝龅降那闆r吧,當時有一個項目特別著急,有一個同事做了有兩年的c開發(fā)。python大大直接跟他說,“你看兩天的Python基本語法,然后自己開始編寫拍攝程序,這樣的話你就會發(fā)現(xiàn),python很簡單,直接就能夠上手,直接在生產(chǎn)中直接能應(yīng)用。這樣學習起來你也會覺得有目標進展也快?!?/p>
他就看了一天的python基本語法,第2天開始就開始根據(jù)開發(fā)說明來進行編程。
結(jié)果很快,就一周不到就把對應(yīng)的需要c差不多幾個月能搞定的項目給搞定了。
總結(jié)下,有基礎(chǔ)的開發(fā)者,只要搭建好開發(fā)環(huán)境,也就是裝python,裝庫,熟悉基本語法,就能愉快的在實踐中自學上手了。
第2種情況是以前沒有任何編程基礎(chǔ),現(xiàn)在要學習python的編程小白。這樣就要因材施教,為他們量身定制學習路線?,F(xiàn)在python大大是這么來安排引導入門的學習的。
首先讓小白一開始就去搭建環(huán)境,去硬碰硬很多系統(tǒng)問題,讓他們一開始就碰的灰頭土臉是不科學的。所以,python大大會推薦一個線上編程環(huán)境,甚至手機就能編程,讓他們直接上手去進行在線python編程練習。因為Python本身語法很簡單,和我們的平??谑龅奈淖值恼Z法差不多。像這樣,不用面臨先搭建環(huán)境等比較困難的部分,直接上手就練。這樣,能讓新來的同學從來沒編程經(jīng)驗的,能夠直接就上手,能夠體會到編程的成就感。并且只要通過這樣持續(xù)幾天的堅持,小白從心里上也會順利通過“編程很難”這道心里坎。
上面的編程學習路線,也是python大大通過多年編程的經(jīng)歷里發(fā)現(xiàn)和總結(jié)出來的。其實編程最困難的就是在搭建環(huán)境,其實可以反方向而為之,首先讓小白學員體會到編程的快樂,然后再慢慢的學習比較困難的知識點,這樣學習難度曲線由低到高更利于學員來進行學習。不至于出現(xiàn),\"學習python從入門到放棄“這種很常見的學習失敗現(xiàn)象發(fā)生。
如果大家對這樣學習的方法有興趣,可以和我私下聯(lián)系,或者關(guān)注微信公眾號\"python_dada\",來進行交流溝通,希望更多的初學者和更多的其他語言的編程者能夠?qū)W會python,體會到它的魅力,謝謝大家。
現(xiàn)在網(wǎng)絡(luò)上的免費學習資源也是非常的多,例如b站,mooc,上面的免費資源特別多,我們可以照著這些資源進行學習的同時,也要盡可能多的自己去敲鍵盤,提高熟練度。
不過如果小伙伴們自己找不到學習的方向,也可以考慮去找一些培訓機構(gòu),例如大連北大青鳥。作為一個專業(yè)的培訓機構(gòu),我們能夠保證每一個學員在這里都能夠?qū)W習到足夠的知識。如果有什么學習上的問題,北大青鳥也會為大家及時回復(fù)哦。
興趣是自己的第一老師。學習一定要和興趣掛鉤才能更高效率!
對于基礎(chǔ)內(nèi)容,不一定會勾起你的多大欲望,但是你依然要將它啃一下!因為它是你用python,鞏固的基礎(chǔ)!
對于進階,就是要和你的興趣充分結(jié)合了!如果你喜歡爬蟲!找一份爬蟲教程(不需要教),或者blog你看到其他人爬取數(shù)據(jù),自己也想爬下來。當你成功爬取的時候會驚艷計算機強大的搜尋和處理能力,以及爬蟲的樂趣會勾起你的欲望。當然,在寫爬蟲項目過程中會鞏固基礎(chǔ)語法和其他內(nèi)容,比如數(shù)據(jù)庫存儲,redis,多線程爬蟲,多進程爬蟲,甚至是分布式,elasticseach這些高級內(nèi)容都是有可能接觸學習的。在學習中成長,在成長中收獲。
如果你對web感興趣,選定你喜歡的flask或者djongo學習下去。根據(jù)自己愛好做有意思的網(wǎng)站,比如在入門時候?qū)懸恍┠転橛H朋好友簡單服務(wù)的管理系統(tǒng),隨著深入自然還會接觸緩存,前后分離,權(quán)限,中間件這些東西。當然自己的python基礎(chǔ)也會得到鞏固。
如果你對AI感興趣,或許只想簡單入門。當你面對數(shù)據(jù)跑出來不同結(jié)果你可能會喜,可能會憂。你可能經(jīng)過很多次嘗試,學習才獲得一個較為滿意的結(jié)果。到這個結(jié)果往往比其他更有成就感,你不會認為它不值得。
當然還有自動化等領(lǐng)域。不介紹了。
日日夜夜的努力實踐讓python不再是一門語言那么簡單,而是一個必需品,一個朋友。它就屬于你了!應(yīng)該樹立想要python干什么,而不是怎么學python。python能干的很多,不同領(lǐng)域區(qū)別也很大。也要慎重考慮!
1.選本書,我當時學習python是用的
Python核心編程第二版,現(xiàn)在出了第三版了,感覺挺好,深入淺出,建議第一遍可以粗略看一遍,有個大致印象,第二遍再細讀,養(yǎng)成良好的記筆記的習慣。
2.如果對書本接受慢,效果差,可以選擇視頻教程,推薦let's python 零碎時間可以看一段,看后最好要多實踐,把視頻里的例子自己敲一遍,運行一下,嘗試修改出現(xiàn)的問題,運行好后可以舉一反三,修改其中的代碼,配合print打印中間過程變量狀態(tài),加深運行流程的理解。
3.有了一定基礎(chǔ),可以嘗試做做小的爬蟲,用小成就激勵自己,繼續(xù)學習,繼續(xù)提升,涉及的庫,可以查下requests bs4 xpath scrapy等。
4.需要自己堅持持續(xù)學習,可以去github上搜一些開源的python代碼,學習使用一下,多用多練。祝你學習python快樂,人生苦短,我用python
首先找一個教程,我當時學python找的教程是菜鳥教程。之后的學習之路大概分這么幾步:
搭好環(huán)境。下載python解釋器(用于運行python程序,推薦下載3版本的解釋器,即python 3),下載好用的代碼編輯器(如sublime)
編寫第一個程序并運行,獲得成就感。實例程序如下:
print('hello 2020') print(2000 + 20)
3. 學習python的語法,首先要掌握的概念如下,希望盡早理解
基本變量:字符串、整數(shù)、浮點數(shù)、布爾值、None
結(jié)構(gòu)變量:列表、元組、字典、類
邏輯和數(shù)值運算
函數(shù)
程序控制流:條件語句、循環(huán)語句
輔以一個例子:如何計算1~100內(nèi)的整數(shù)的和,python代碼如下:
s = 0
for i in range(1, 101):
s += i
print('1到100內(nèi)的整數(shù)和是:', s)
里面包含的概念有:整數(shù)變量、循環(huán)、字符串變量、加法數(shù)值運算。
4. 上面的學習過程是打基礎(chǔ)的過程,非常枯燥,但是一旦掌握了基本功,利用python就可以做很多好玩又有趣的事請,也可以作為自身生存的技能。列舉一些python相關(guān)的運用:
開發(fā)游戲。可選資源:pygame
數(shù)據(jù)分析??蛇x資源:numpy, scipy, pandas, sympy
深度學習??蛇x資源:tensorflow, pytorch
制作可視化的圖表??蛇x資源:matplotlib
搭建網(wǎng)站??蛇x資源:flask, django
客戶端。可選資源:tkinter, wxpython, pyqt
爬蟲??蛇x資源:requests
學會一門新事物離不開堅持,其中打基礎(chǔ)的過程要耐得住寂寞,不好高騖遠。之后可以根據(jù)自己的興趣和方向,在這一方向深扎,直至精通。祝好!
