閱讀769 返回首頁    go Python


Python 學習完基礎語法知識後,如何進一步提高?

python程序員學習路線圖 python+ 數據結構和算法 + linux + 軟件工程 + web開發 + git版本控製+ 溝通技巧等等。

Python(英語發音:/ˈpaɪθən/), 是一種麵向對象、解釋型計算機程序設計語言,由Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。

Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議。

Python語法簡潔清晰,特色之一是強製用空白符(white space)作為語句縮進。

Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕鬆地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界麵),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。

怎麼樣才能學好python, 怎麼樣才能學好django,怎麼樣才能學好編程?雖然我還沒有學好python和django,但是我想我找到了學習的方法。動手!動手!動手!對,就是三個動手,但是每個動手的含義是不一樣的。先來說說我的經曆:從大二到研究生畢業,我用了5年的matlab從12年工作到現在,我用了4年的c#今年年初公司開始推行全棧,開始學習c++兩三個月前,出於個人興趣開始學習python和django先別急著罵我好高騖遠,同時學習好幾門語言我也是被逼的!python和django才是我的真愛!你們肯定以為我想說興趣是最好的老師,NO!聽我接著吹!想當初~學matlab是因為接了學校的一個自然科學基金,你懂的,通過了就有1000塊錢拿。聽到消息後,3個餓貨就組團去報名了,過程是這樣的:喜歡各種兼職各種發小廣告的學渣室友找到了我,隻是因為我大一在電腦城搞了一個暑假的兼職(對,就是修電腦),然後因為項目需要3到5個人就去找了一個天天打DOTA的東北哥們兒,隻是因為這哥們隻要名不要利,錢到手後他那塊拿出來喝酒!媽蛋,現在回過頭來想想,當初的奇葩組合竟然迎合了現如今最流行的商業模式:一個能搞項目的,帶著一兩個能幹活的,還有十幾個靠關係進來啥也不幹就等分錢的!好吧,扯遠了,最後項目也是如期完成了。怎麼完成的?是我一個函數一個函數的百度回來的:matlab怎麼加載圖像,I = imread('image.png');matlab怎麼得到圖像大小,[M,N] = size(I);matlab怎麼做循環:for i = 1 :m ... end。再到後來如法炮製,給另外兩個同學寫了畢業設計的程序,再再後來就當了槍手專業代寫matlab圖像處理程序,讀研沒拿家裏一分錢還買了手機和筆記本。。。c#學的也很奇葩。畢業之後陰差陽錯的去做了桌麵程序開發,當初都沒聽說過c#,還以為是叫c井呢。。。上來就扔到項目裏去了:給你一個星期時間看書,一個星期之後開始修bug。。。好吧,看書,看的什麼書?《c#高級編程》!對,沒錯,就是1557頁的那本!哥們頭兩天還背著它公司宿舍來回跑,第三天就把它給拆了,把第一部分弄出來重新粘了個書皮。。。當然一個星期就連第一部分也沒看完,反正就上去修bug了,還好流程控製語句跟matlab也差不多,還好哥們邏輯能力也鍛煉出來了,扯著百度咱就開始風風火火的幹了,任務也都能按時甚至提前完成。。。三四年的工作經驗之後,我知道了設計模式,知道了麵向對象編程,知道了要提高代碼的可讀性,知道了代碼簡潔之道。那麼問題也來了,同誌們!從今年年初開始學習c++到現在,我看了好幾本書,而且時間很充裕,我是很認真的在看。但是截止到今天為止,我還是不敢去接公司的c++項目!兩個月前,當我準備學習python和Django的時候,我習慣性的打開了知乎。想看看大牛們會推薦哪些入門書籍和教程。 分別搜索python和Django兩個關鍵字,看到了很多我感興趣的話題:Python 的練手項目有哪些值得推薦?python django學的很迷茫怎麼辦?Python 應該怎麼去練習和使用?Python 學習完基礎語法知識後,如何進一步提高?Django 學習順序及入門要求?想用Django+ Bootstrap寫一個網站, 有哪些比較係統完整的書或者視頻可以參考?學完python後,該如何開始django學習?想學習Python Django,請推薦從入門到精通各個階段的好書?說實話我看完了這些問題的所有答案,答主們都很認真,讓我對於這個自己不熟悉的領域有了簡單的了解。也是精心挑選吧,對於python,我選擇了廖雪峰的官方網站這個教程;對於django,我選擇了 Tango With Django。以這兩個為主,當然還有其他的,head first啊,官方文檔啊。。當我利用下班後的空閑時間讀完兩個教程後,也確實不再是一頭霧水了,這讓我有了一點小小的成就感。感覺至少自己比身邊的人多懂一些。但是短暫的喜悅過後我同樣遇到了這樣的問題:python django學的很迷茫怎麼辦?本人學生,零編程基礎,在學習python的過程中越學越迷茫,感覺像無頭蒼蠅一樣,來知乎取經,下麵進入正題吧: 我是先看了中穀的python教學視頻,然後跟著慕課網上的python教程把題目做了一遍,然後就開始看django,看了“django web開發指南”,又看“django官方文檔”,在看django這兩本書的時候簡直是一頭霧水,我有種感覺是python基礎沒學好的原因所以理解不了django,實在不知道在說什麼,就照著書上的例子練,同時我也在網上找了好多blog應用的實例,想試著自己寫一個blog網站,來增加一下對django的認識,才發現前端也需要學習,然後就在w3c上學基本的前端,發現前端要學一大堆,然後學著學著就迷茫了,最近一直很迷茫不知道自己該幹什麼,下一步該幹什麼,實在不想像無頭蒼蠅一樣。這哥們簡直就是在說我嘛!但是怎麼辦?我始終相信這句話:“臨淵羨魚,不如退而結網”。所以我不會因為迷茫而停止不前。回想起自己剛開始用matlab做圖像處理的時候,什麼都不會就敢接活幫別人做畢設,現如今做了幾年編程工作之後再學習新語言反倒是有點扭捏了!我在想什麼呢?為啥就沒了當年的銳氣了呢?我在想麵向對象,我在想代碼規範,我在想怎麼寫高質量的代碼。。TMD,傻了嗎,低質量的代碼還寫不出來呢,談什麼高質量啊!!!所以,如果一個完全不懂編程的人和一個有若幹年編程經驗的人同時學python,我反倒會看好那個完全不懂編程的人!哎呀,我這也算是頓悟了嗎?哈哈。那就動手幹起來吧!這個時候當然還是要先問問自己這樣的一個問題:學會了Python你要用它幹什麼?學會了Django你要用它幹什麼?我很清楚自己一直想搭一個博客,寫博客的好處我就不多說了。如果你還沒想到用python幹什麼,我建議先來搭個博客。這裏當然說的是自己建站寫博客,而不是在csdn什麼的。為什麼要自己建站?找工作的時候這可是看的見摸的著的項目經驗啊,親們。有了目標就不要讓手閑著,動手!動手!動手! 照著教程操作不是真正的動手,動手找方向,動手找解決辦法,動手做,這才是真正的動手!動手!動手我果斷的跑到Github搜索了“django blog”,然後就自然而然的找到了zinnia。為什麼用現有的框架?因為我給自己製定了這樣的學習曲線:用框架搭一個博客,博客上線,理解博客框架內部機製用python寫一個blog框架讀zinnia源碼當然這不是一個短期內能實現的目標,也許需要一年、兩年甚至更多時間。但是一旦你開始動手了,你就會找到更細致的目標。比如,目前我的第一個目標完成了60%左右,我的博客已經上線了,在動手的過程中,我找到了更具體的方向,為了達成這個目標,下麵的東西是我要學的:zinnia搭建博客,部署到阿裏雲ECS服務器--------------------已完成掌握Git基本命令,用於版本控製和代碼上傳服務器----------已完成入門python和django,基本概念和語法需要有------------已完成掌握基本的linux命令,用於部署 ----------------------------已完成markdown,用於寫博客 ------------------------------------已完成理解web請求,MVC,MVT等blog框架內部機製 ------------未完成其它網站建設技巧---------------------------------------------未完成擁有一個微信公眾號 ------------------------------------------未完成待發掘 -------------------------------------------------------未完成我是一邊動手做,一邊截圖做記錄以便寫blog,這樣速度至少慢了一半,但是很紮實。每一步我都可以回過頭去看,為了讓讀者更好的理解我會重新組織語言、組織邏輯、看看是不是有幾個步驟可以合並。。。學而不思則罔 思而不學則殆!寫博客讓我做到了邊學邊思考。我還申請了知乎專欄,因為是知乎開闊了我的視野,讓我從“不知己不知”過渡到“知己不知”。個人認為幫助你過渡到“知己不知”的人是最值得感謝的,想一想你要學習新的知識打開了搜索引擎卻想不到用什麼關鍵字,或者你壓根不知道自己該學什麼,無知是多麼可怕啊!這就是老話說的,“師傅領進門”。希望我的一大通廢話領你進門了,讓你找到了學習的方法~我會把所有的學習過程記錄在這裏,歡迎大家一起來討論。如果你開始動手了卻找不到下一步的方向,也歡迎來參考我的記錄。最後幾句話與大家共勉:照著教程操作不是真正的動手,動手找方向,動手找解決辦法,動手做,這才是真正的動手,動手,動手想一想自己是真正的有十年工作經驗,還是一年的經驗重複了九年!活到老,學到老。學到的不止是知識,進步讓人身心愉悅,整個人都是正能量

最後:

自己多問下為什麼學python

如果一門語言沒有改變你的編程思維,那麼它不值得你去學習”。如果這麼說,我們大學的時候,學習了c,c++,java,C#,算是值得學習麼?很多時候是不值得,我覺得我們大學的課程就是用java,c#,c++把"C程序設計"又上了一遍.

這是因為,學校的老師會C和java之類的,所以要跟著規矩開這門課,(這也就是為什麼,許多學校還在教vb,),這也就是為什麼,你所以為的一樣就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所謂的不一樣就是用C有指針,java沒有,這就是為什麼教育是失敗的,這也就是為什麼,我目前認識的幾個編程大牛

python的優點:簡單 我所說的簡單,是相比於象C和C++這樣的語言,你為了編程,要學習許多偏底層的東西.在比如,你在學習一個新的編程範式,或者想要馬上做個例子看看,試驗某個API,如果你是寫java的,你不得不去寫一個main,寫一些構造,即使有IDE這樣的東西,能夠為你帶來代碼生成器,而我做得就是寫一段“腳本”,或者打開python交互式解釋器就行了。

自己認識的python朋友出去工作,工資比較高,然後自己又剛剛好是會python所以選擇學習python,這樣的人比較危險但是也比較有激勵,還有就是覺得python比其他開發語言好用。

學完python前景會咋樣

其實我個人是很看好python未來的就業前景的,因為我認識太多的工程師都已經在學python,很多都是月收入大幾萬的

我個人也並非一直用python。前些年主要用c/c++以及java開發一些通信,移動係統,互聯網通信。近3年開始才轉向python。坦白的說,這可能與你相處的公司以及環境不大一樣。隨便舉個例子,google的protocol buffer協議一出來就具有c++/python/java三種語言支持。google的廣告係統早在03,04年左右就一並對python進行了webservice支持,大部分涉及基礎核心係統的公司,都開始對python進行了擴展支持。甚至開源社區的postgresql數據庫,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外對python進行了內嵌支持,唯獨卻沒有唿聲很高的java。在FREEBSD(MIT)/LINUX(GPL)平台上,對java可能排斥性比較大,但綜合而言,目前python發展還沒有java那種普及,主要是python大部分工作仍然是在較為深入地係統層和框架層做設計開發,例如django,SQLAlchemy,fail2ban,mail郵件係統,twisted等等。這部分對於那種習慣應用前輩們框架的編碼人員而言,缺乏創造力的他們根本無法適用這種開發。尤其在python涉及一些係統層麵需要有較強的c/c++能力,這部分人在國內要麼就累得要死沒時間,要麼就啥都不會就會拷貝代碼,而國內公司也鮮有主動去做這部分基礎勞動的,大多都是等別人做好了在直接拿來用,所以造就了任何技術性的東西出來,國內都是先等等看,然後抄襲應用。

大環境如此,但千萬誤認為先等等看吧。對於一個技術人員而言,缺乏對新技術的渴望與熱情,這是一種非常危險的事情。我工作8年了,按照國內很多的人的說法早已不做代碼了,但又一次在聽一個老外的演講,他說他50多歲仍然每天堅持寫代碼,了解最新的動態,所以他才能做到他們公司的首席科學家,因此它才能時刻指導項目團隊前進並保證項目的質量。他坦言對於一個不寫代碼並且不了解最新的技術動態的技術人員或者技術團隊的負責人而言,這種團隊也就足夠做作小項目,一旦壓力和項目過大,就會有很多問題漏出來。

對於新人而言,無論學習什麼技術,都要以鼓勵的姿態出現。太多用薪水和你個人所看到的現狀去衡量一門技術,那絕對是欠缺眼光的。任何一門技術,一旦有人學習,他有可能逐漸成為這個領域的專家,即便再濫再沒有人用的開發語言技術,他也有可能就是明日的奠基者或者大師。

自己如何確定目標

在生活中學會不斷挖掘自己的潛力。我們都是一個普通人,可能並不清楚自己到底在哪方麵占有優勢。所以,學著在生活中找到自己的優勢,並根據優勢選擇一定的就業方向。

不隨波逐流。不要看周圍的人做什麼,自己就做什麼,也許別人做的並不適合你。別人的優勢很可能會成為你的劣勢。所以,堅定自己的想法,讓自己知道那些方麵適合自己,自己可以勝任。

不斷嚐試可能成為自己的優勢。你不知道什麼適合自己,所以才要大膽、勇敢地嚐試。找到一種可以屬於你的獨特的優勢。

堅定信念。一旦你堅定了自己的信念,就不要被別人的意見或是諷刺或是嘲笑所幹擾。別人不是你,不懂的你在想什麼,不清楚你開始這件事的源頭。你的事情,不了解你的人,沒有資格輕易評說。

不茫然,不多想。別讓太多的事幹擾到你奮鬥下去的信念。夢想不容許太多的雜念。那些雜念隻會讓你的心愈來愈脆弱,多為一個人考慮,到頭來,傷害的還是自己。

選擇自己學習方法

每個人都有適合自己的方法,有的人去選擇自學,有的人選擇看視頻學習,有的人選擇報名培訓班,那在這個時候,你就要自己考慮清楚,到底那樣對的幫助是最大的,個人覺得是跟著培訓班最好的,畢竟人家的實戰項目多,我們學軟件開發的都知道實戰項目對於學好一門語言是 很重要的。

學習python有那些誤區

具體裏麵的誤區非常的多,那些就不需要我去寫出來,我給你說的一般都是心態的問題,首先一個覺得自己會java和c++,然後我學習python就很牛,但是你要知道語言是有很多相同的地方,但是不是通用,一定要自己學習的仔細。還有一種就是覺得我不會英語,我要先去把英語學習好在來學python。因為自己想還壞主意然後學習,這樣的都是容易找進誤區的。

怎麼樣才能學好python

最後更新:2017-10-08 15:36:03

  上一篇:go Python進程、線程、回調與協程 總結筆記 適合新手明確基本概念
  下一篇:go Python2和Python3哪個更適合初學者學習來爬蟲呢?