標籤:

毫無基礎的人如何入門 Python ?


在Coursera上有一門用Python做遊戲的課程:Python交互編程入門。

一共兩部分,9周課時,有中文字幕。從最基礎的變數開始講起,每周都會留一個編程作業,編寫各種小遊戲:猜拳、猜數字、虛擬乒乓球、21點...就算是完全不了解編程的新手也可以逐漸入門,直至最後做出一個飛行射擊的遊戲。而且這門課還提供了一個功能強大的模擬Python環境的編程網站CodeSkulptor,可以實現(和Python並非完全一樣)很多基本的語法和函數,以及一個簡單易用的simplegui圖形界麵包。

另外還有一個網站,Python | Codecademy 可以學習Python以及一些其他語言。這個教程更加基礎,連True False都可以講好幾頁...適合真正完全沒接觸過編程的人。

-----------

更新:

第一周的時候你做的遊戲大概是這樣的:

過了幾周後就會變成這樣的:

這樣的:

直到最後變成這樣的:


如各位所說Python非常簡潔明了, 屬於入門非常容易的語言(不代表深入也容易), 對於初學者, 推薦從Python的文檔開始入門:

The Python Tutorial

當然,如果你的英文閱讀能力還不足以流暢的閱讀官方文檔, 可以學習中文版的文檔:

Python 入門指南

當你熟悉基本的語法之後,千萬不要停下來,立即做一些小項目練手!!!~~~這種簡單的項目知乎可以搜到很多建議, 比如做一個屏幕取色工具/網站爬蟲/網站後台或者任意其他的自己有興趣的小程序, 如果你有十足的Geek范兒,可以試試用Python+樹莓派做一個遠程控制家電的[偽]智能家居控制中心, 控制下電熱毯/檯燈/電視什麼的.

Python的第三方庫非常完善,所以當你遇到問題的時候,一定要學會先搜一下有沒有第三方的庫可以幫助自己解決問題.

另外,編程涉及到很多方面的知識,這裡不嚴謹地把題主所指的『毫無基礎』理解為是計算機方面毫無基礎,但是數學/英語方面有一定基礎,那麼,對於學會Python基礎語法之後的建議就是,學習計算機的基礎理論知識,比如說為什麼計算機只能處理二進位,3+2=5在計算機中究竟是怎麼樣得出來的等等~

推薦的圖書:

Python核心編程(第二版) (豆瓣) (Python基礎知識入門)


建議你跟著UC BERKELEY 本科生計算機基礎系列課程CS 61 A 學習。(註:CS 61B是數據結構和JAVA,CS 61C 是C語言和硬體)

另外他的教材是PYTHON 版本的SICP,電子版,可以多看看

有人要電子版教材,在這裡:

http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/


小白的零基礎Python入門教程,中文,免費,零起點,完整示例,基於最新的Python 3版本:

Python教程 - 廖雪峰的官方網站


零基礎可以看 《笨方法學Python》 (Learn Python The Hard Way) ,中文版PDF:http://liam0205.me/attachment/Python/PyHardWay/Learn_Python_The_Hard_Way_zh-cn.pdf

這本書基本上全是實踐內容,循序漸進,非常適合初學者。以下是前言翻譯的一段摘錄:

這本小書的目的是讓你起步編程。雖然書名說是「笨辦法」, 但其實並非如
此. 所謂的「笨辦法」是指本書教授的方式。在這本書的幫助下,你將通過非常
簡單的練習學會一門編程語言。做練習是每個程序員的必經之路:

? 做每一道習題

? 一字不差地寫出每一個程序

? 讓程序運行起來

就是這樣了。剛開始這對你來說會非常難,但你需要堅持下去。如果你通
讀了這本書,每晚花個一兩小時做做習題,你可以為自己讀下一本編程書籍打
下良好的基礎。通過這本書你學到的可能不是真正的編程,但你會學到最基本
的學習方法。
這本書的目的是教會你編程新手所需的三種最重要的技能:讀和寫、注重細節、發現不同。

有其它編程語言基礎的話,可以看看《簡明 Python 教程》,非常簡潔明了。

想要在幾分鐘內做非常非常粗略的了解:《X分鐘速成Python語言》(Learn python in Y Minutes)。


相信對於每個人而言,知道編程和學習編程這件事,出發點是不同的。湯哥在北京接觸編程的時間是2013年,那個時候還在一個二線城市上大學,還沒有這麼多各種融資,各種互聯網創業的氛圍,大家想的更多的是一些線下的:發個傳單、開個小店、進個大企業的思維。

第一次感受到互聯網神奇的時候是2013年底,一個學長畢業後進入一家互聯網企業,一個月收入快1.5萬,雖然現在看來不高,但是當時對於一個在二線城市的大學生而言,這樣的收入和公司,是可望而不可及的。

當然此時也是我開始了解編程並研究編程的,故事就不多說了,我們來開始正解!

一、什麼樣子的人適合學習編程?

在大眾周圍,總是充斥著各種如何學習編程的聲音。許多人已經對於是否「每個人都應該學習編程」發表了自己的觀點。開句玩笑話:如果那些認為每個人都需要學習編程的作者自己會編程的話,就不會出現程序員緊缺的現象了!

其實編程這個事情,很多人有計算機專業相關和非計算機相關的區分,雖然確實有基礎底蘊的差別,但是在努力的共性上還是一致的,有以下幾個共性,你可以看一看:

1. 對編程求知慾,喜歡自己動手探索一些數據或者編程的東西。很多人入行都是聽說程序員很賺錢就進來了,不過對程序並沒有特別的興趣,這類人在經歷了短暫的培訓之後,還是可以基本入行,但是他們基本還是在初級階段,向中級晉陞一般都需要主動性。有興趣,並且有基礎的才會比其他人更進一步。

2.善於發現程序問題,並且自己想辦法解決。編程最難的一點是找Bug,任何程序出現問題是正常的,關鍵是你具備發現問題和解決問題的能力。如果你對Bug問題解決能力很強,那麼你像優秀程序員的進階就會很快,

3.對編程學習有持久和自學的耐心。很多人說編程跟武功一樣,一日不練,武功全廢。不能光憑藉一時間的興趣,簡單的玩一下,然後問題很多,就問人。這種學習的過程是不科學的,問是可以的,但是最好需要有基本的解決。

上面說的是一些通過習慣,有了上面的基礎,然後再有英語基礎、數學還不錯、還是計算機專業,那就非常完美了。

二、編程語言有哪些?到底Python作為編程入門語言合適嗎?

如果你計劃開發軟體、硬體、甚至操作系統,那麼你或許想學習C語言。C語言剛出現的時候是一種偉大的語言,因為很多其他的語言都直接或間接來源於C語言,其中包括 Java、JavaScript、C++、Python、PHP 和 Per。

編程初學者應該先寫 c 還是Java還是Python?C語言。java我建議做第二個學習的語言,java是面向對象的語言,更貼近人的思考,很多底層幫你封裝好了,你不用太關注底層實現。

不同語言門檻不同,Python&

python的靈魂不在於語言本身,而在於其諸多優秀的庫。Python有能運行的偽代碼之稱,是最適合初學者學習的語言,是程序員的啟蒙語言。當初Guido設計Python的時候,就是為了要設計一種簡單易用,能適合教學的編程語言。所以Python的語法簡潔清晰,並且在語法中強制性地植入了編程風格。

還有一些其他的好評如下:

接近英語的簡單語法;

開發環境簡單,能打字就能寫代碼;

眾多的第三方庫;

解釋執行,不需要編譯;

跨平台,方便移植;

python是現代語言,具有足夠的抽象性,適合教學一些純數據結構、演算法的抽象知識。此外,Python的許多思想都能適用於其他主流的編程語言。因此學通Python,有助於你掌握Java,C#, C++, C等主流的工業編程語言。

結論是:作為首選語言沒有問題,其他語言還得學。

沒有最好的語言,只有最合適的語言。

沒有糟糕的語言,只有糟糕的程序員。

沒有一種語言是萬能的,只會一種語言是萬萬不能的。

用什麼語言不重要,最重要的是效率:開發效率和執行效率。

不過最後,我想告訴大家。第一門編程語言的學習過程永遠是痛苦的。選擇Python儘管可以讓這個過程變得輕鬆一些,但是你仍然得克服一系列困難。

做為一個程序員,是應該去選取不同思路的語言去學習的,而且當然要選擇最有代表性的語言,在編程的世界裡,主流的思路其實就兩種,一是結構化編程,一是函數化編程,面向對象只是結構化編程進化的一個階段而已,其他各種各樣的思路大多數是這兩個的分支。

對於非程序員來說,碼代碼是用來解決問題的,不用糾結底層的東西,能短平快解決問題才是最關鍵。

三、現在都有哪些人在學Python,為什麼學?

目前在很多行業中都在越來越多的應用Python,這也是很多行業學習Python的原因,Python主要的應用領域有哪些呢?我們來看一看:

目前來學的人群分為以下幾類:

第一類:入行編程新手:大學剛畢業或者其他行業轉崗,想從事編程開發的工作,目前認為Python比較火,想入行;

第二類:Linux系統運維人員:Linux運維以繁雜著稱,對人員系統掌握知識的能力要求非常高,那麼也就需要一個編程語言能解決自動化的問題,Python開發運維工作是首選,Python運維工資的薪資普遍比Linux運維人員的工資高。

第三類:做數據分析或者人工智慧:不管是常見的大數據分析或者一般的金融分析、科學分析都比較大程度的應用了數據分析,人工智慧的一些常見應用也使用了Python的一些技術。

第四類:在職程序員轉Python開發:平常只關注div+css這些頁面技術,很多時候其實需要與後端開發人員進行交互的,現在有很多Java程序在轉到Python語言,他們都被Python代碼的優美和開發效率所折服

第五類:其他:一些工程師以前在做很多SEO優化的時候,苦於不會編程,一些程序上面的問題,得不到解決,只能做做簡單的頁面優化。 現在學會Python之後,你和我一樣都可以編寫一些查詢收錄,排名,自動生成網路地圖的程序,解決棘手的SEO問題

當然,這裡總結的只是常見的一些情況,關於職業和崗位,之前寫過一個內容介紹:

四、學習Python編程,我們應該如何學?大概的學習內容包括哪些?

我想可能很多網友和我有著相似的學習背景,學習Python會有以下的問題:

從零開始,不知道如何下手開始學?

被基本的數據結構、設計模式等計算機常識問題難住

看了一陣,前面的又忘記了

遇到問題不知道怎麼如何尋找解決方案

學習Python編程語言,動手實踐是一件非常愉快的事情,遇到了程序上的問題,經常自己思考研究,從而解決問題,自己的技術水平和解決問題的能力都得到了大大的提升。

但是,如果是你零基礎起步,自己一點點照著書本學習,遇到困難,得不到解決,長期下去,會對學習編程產生厭惡,最終放棄學習。

經歷這個Python後,我認為像Python這樣的語言確實有學習的必要,因此把我的Python學習筆記貼出來,不過前面部分寫的過於基礎了。

1、第一個Python腳本: hello world 2、Python語言與傳統的C++/Java語言顯著不同的地方 3、Python語言的控制結構 4、變數聲明和定義 5、函數 6、列表、字典、元組 7、字元串處理 8、面向對象編程:封裝、繼承、虛擬函數、介面、多繼承、模板 9、面向對象編程:異常處理

最後給想學習Python編程的朋友,一些小建議:

1、先買一本自學用的Python書籍,不要看電子書。選擇合適的教程。有些書很經典,但未必適合你,書籍有:《Python核心編程》《Python基礎編程》《Python學習手冊》《Head First Python》《Python編程入門》《Python開發實戰》《Python編程初學者指南》。

2.對Python基礎數據類型有一個了解,學會各種類型的操作方法,了解函數和類的概念。

3、學會查官方文檔,用好搜索引擎和開發者社區。不但要學寫代碼,還要學會看代碼,更要會調試代碼。讀懂你自己程序的報錯信息。再去找些github上的程序,讀懂別人的代碼。

4、動手實踐,找小項目練習。前面幾個階段要快,都是為這個階段做鋪墊,,這時可能遇到各種困難,這時回頭複習參考書上對應知識點,同時去谷歌百度,如果自己寫不出來也可以參考別人的項目去做點事情,過一陣子對python了解後自己就知道該學啥了,是web開發,還是爬蟲,或者數據分析,機器學習。

5.除了學習編程語言,也兼顧補一點計算機基礎,和英語。

以上是關於學習編程和Python入門的一個建議,歡迎大家拍磚和討論。


Python 本來就是一門不要什麼基礎就能學會的語言。。。有編程基礎的還要學 Py?翻翻文檔一下午的事。


零基礎學習編程,和學習任何一門實用技能都同樣需要經歷3個階段:理解-&>模仿-&>應用

正如我們在嬰兒時期學習說話的時候,最初是看著圖片理解文字的含義,然後是模仿父母的發音,逐漸才能學會表達自己的想法。學習編程也是一樣。下面展開來說,分享一些經驗。

Step 1 : 理解

在入門一個領域的時候,最需要的是先了解這個領域的常識,一本好的入門書可以幫到你。

遺憾的是,當你翻開大多數編程教程,看到的都是蹩腳的翻譯和難懂的定義

除了翻譯問題,最讓人頭疼的是抽象的定義,作者默認你已經掌握了這些常識,這就像是對著一個從來沒見過雪的人,告訴他「雪是從大氣中的水蒸汽直接凝華或水滴凝固而成的。好了,你知道什麼是雪了吧?」

問題的根源在於,極少有人能從抽象中學習新事物的,我們往往是從具體的例子、類比的熟悉事物、甚至是親身體驗的過程中去學習,這樣才印象最深刻。

在研究了整體學習法和學編程之間的關係之後,我們團隊為了幫助零基礎小白理解抽象的程序語言,創作了最有趣的 Python 教程。

這本教程的目標是幫助實用主義的學習者,快速無痛的理解編程的魔法,掌握高效學習 Python 的方法。讀者的評價是:

這本書現在在圖靈社區可以下載,地址是:圖靈社區 : 圖書 : 編程小白的第一本 Python 入門書

Step 2:模仿

如果只是閱讀,再好的教程也只能幫你理解,要真的掌握,還需要動手模仿。所以我們也在教程中強調了

在你閱讀這本教程的時候,需要模仿著示例敲一遍代碼,不要怕麻煩、不要嫌簡單,當你動手敲代碼的時候,就會發現很多眼睛會忽略的細節:小到中文標點還是英文標點、大到語句之間的邏輯關係。當然,在你發現親手寫出的程序運行成功之後,你也會感受到無比的喜悅,你能用程序計算數學題了!你能寫小功能了!我會帶著你循序漸進的完成一個個實踐,直到你有能力脫離模仿、開始創造。

Step 3:應用

只有動手做點東西出來,才能真正學會編程。

然而,許多初學者很難找到適合學習的編程項目。文檔和開源框架,那是給專業程序員看的,初學者看不懂。

於是,我們又發布了 麻瓜編程Python Web 開發工程師微專業基礎教程 這門課程,和小白教程一樣是生動易懂的風格。

這門課把一個大的視頻網站項目拆解成多個小項目,每節課都能讓你做出成果,一步步循序漸進搭出一個可以直接上線的視頻商業網站和內容管理後台,超有成就感。

另外,你還會和小組同學共同開發一個自定選題的網站並發布。這可以大幅豐富你的簡歷經歷和職業技能。

在項目實踐中,來自知名公司的工程師會手把手輔導你遇到的問題,如果你只是聽課,只會說「嗯,好吧,好像是這麼回事兒……」。但是親手做過,再接受指導的時候,你會說,「哇哦!現在我算是徹底明白了!」

經過理解-&>模仿-&>應用這三個階段,以及課程中精心設計的學習路徑,你會開發出兩個可以直接上線的商業網站項目,掌握前端的 html,css,vue.js 的使用,還能學會 api 的調用,python django 的 web 框架,為 web 開發的紅利期做好知識儲備。

不如現在就開始吧。


看python核心編程第2版,多看書,多思考,多做習題!


可以。比如文科女生,想系統學習編程,有哪些需要注意的事項? - 計算機

如果自學的話,可以參考:

與孩子一起學編程(老少咸宜的編程入門奇書,榮獲Jolt生產效率大獎)

Python for Kids - O"Reilly Media

http://www.zhihu.com/question/19731146

最好的辦法是找個人輔導一下,不怎麼難。最難的部分是概念,技術反而是其次。


入門神圖

不點贊都是耍流氓~


http://blog.another-d-mention.ro/programming/python/quick-python-script-explanation/


最適合零基礎入門的課程,我認為是coursera上多倫多大學的Learn to Program。這門課內容較淺,大量地使用了http://pythontutor.com的演示功能輔助教學,講解明晰。

學過之後可以繼續學習edX上MIT的6.00.1x,6.00.2課程,加以鞏固、提高。


答主編程零基礎,今年2月入門,現在還在學習。我就在這裡說下我的學習經歷吧。不同的人有不同的學習方法,我只是給大家一個參考,希望能幫助到你們。

0.入門python,第一步就是安裝python(之前選擇的是java,由於安裝java配置好環境變數之後,寫個『hello world』都不知道怎麼測試,真的是蛋疼。。。)本人用的是python2.7。。。

python2.7下載鏈接:https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi

貼上安裝鏈接:http://jingyan.baidu.com/article/7908e85c78c743af491ad261.html

1.新建一個test.py的文件,輸入:

print "hello world"

保存,關閉文件。

點擊文件,右鍵Edit With IDLE,按F5運行python腳本。沒錯,現在你已經寫了一個python腳本了。

2.答主入門的第一本書:

簡明python教程:簡明 Python 教程

pdf鏈接:

http://blog.nothing.ml/file/python%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B%E4%B8%AD%E6%96%87.pdf

這本書答主用了幾天就看完了,因為內容都很簡單,對於一些比較難的概念,可能需要你去搜索一下更多的實例理解,內容選擇性地看就行了。

重要的是需要一邊做筆記,因為有一些內容很容易忘記。

3.這個時候你需要一些輔助的工具:google,因為某度搜索比較垃圾。推薦使用英文搜索,因為有一些內容可能錯了一個單詞,那結果完全是不一樣的好吧。不得不吐槽下一些博客的內容是照抄別人的,而且還說自己是原創。。。

推薦的翻牆的方式是vps+shadowsocks,因為可以學習到一些linux的東東,知乎上有便宜vps推薦:有哪些便宜穩定,速度也不錯的Linux VPS 推薦? - Linux

至於怎麼搭建ss,答主就不再這裡回答了,防止被封,而且現在某度也不能搜索shadowsocks關鍵字了。。。

4.學完python的基本語法,相信你們不知道要做什麼,沒錯答主就是這樣的。所以學完python之後的一段時間,答主在玩vps,包括怎麼翻牆,快速搭建博客,這些沒有多大技術的方向上偏了。

其實答主認為這是好的,因為學這些的過程中,我接觸到了一些網路方面的應用。拓寬了接下來繼續學習python的方向。如果不是專門學IT的,python學完之後,是沒有哪些項目可以用來練手的。

5.加入一些python群和論壇,在那裡會有很多熱心人幫助你,但是請在提問題前先google下。

6.這個時候你可以搜索自己感興趣的內容了,答主搜索了爬蟲入門,但是在一些比較深入的HTTP內容的時候就卡住了。

於是答主去看了《python編程金典》,一本很老的書,只看了前半部分,收益甚多很多以前不懂的問題也是茅舍頓開。

7。待更:

貼上答主最近寫的小腳本:Nginx搭建flv mp4流媒體伺服器一鍵安裝腳本

上面的腳本只是測試版,沒有加入類,雖然我寫了。。。


1. 讀《Python Manuals》里的 tutorials。

2. 讀《笨辦法學Python》

3. 讀《Head first Python》

4. 讀《Django manuals》

5. 讀《Python Manuals》里的 Lib Ref Lang Ref,或先讀拙著《編寫高質量代碼:改善Python程序的91個建議 (豆瓣)》再讀前者工作中,

6. 讀用到的所有庫的 Manuals,遇到問題就讀一下這些庫的源碼(淺嘗即可)

7. 讀《Python源碼剖析》

8. 讀《Python 開發實戰》

9. 帶新人,更新這個書單。

轉自 @賴勇浩


誰學第一門語言是有基礎的?


有一本書叫做 Think python ,題主可以找一下看看。


1. python核心編程第二版(一本優秀的書)

2. 推薦老男孩python11期(一個優秀的視頻)

3. 找一個喜歡的項目(一個優秀的項目)

第一步帶著自己的思想去讀書,爭取讀懂75%的內容

第二步看視頻,查漏補缺,學習老師的思路和看待問題的方法

第三步,結合這項目,理解編程

編程最重要的是思考!


表示Codecademy上的Python課程很不錯


只要能堅持,都能學會


推薦閱讀:

XML 為什麼很重要?XML 解決了什麼問題?
有沒有對提高編程能力有幫助的電影?
你是如何自學R語言的?
什麼情況下才應該使用存儲過程而不是用程序來對數據做操作?
程序員們怎麼理解各種計算機書里抽象的概念呢?

TAG:Python | 編程 |