首先
Python是一門易學(xué)難精的語言,其實(shí)絕大多數(shù)編程語言都是如此大概在大三的時(shí)候,我也有如你一樣的困惑,那時(shí)我學(xué)Python已經(jīng)一年了,覺得許多東西都「大概」,「也許」,「差不多」可以實(shí)現(xiàn),但真正Coding的時(shí)候,卻踩進(jìn)各種奇奇怪怪的坑,那叫一個(gè)曲折呀。我當(dāng)時(shí)的方法也挺暴力的,在Github上Follow了 @lepture 大神,將他寫的所有 Python 源碼都讀了一遍,然后開始自己造輪子這樣做最顯著的提升是,寫代碼更有底氣了,知道自己為什么要這樣寫,寫出來有什么樣的好處,什么樣的后果;更注重組織代碼結(jié)構(gòu),不會(huì)再任憑代碼「粗放生長」讀源碼不一定適合所有的人,有的人對圖形,對可視化的東西比較敏感,再加上一些感性的審美,如果恰巧遇到比較粗糙代碼(比如我的),是一種很痛苦的領(lǐng)悟,讀代碼并不一定對每個(gè)人都是最優(yōu)的選擇在這樣的情況下,我更推薦直接上手造輪子,把自己常用的東西封裝成庫或者工具,寫好測試,寫好文檔,掛好持續(xù)集成,這樣代碼能力和軟工能力都會(huì)有顯著的提高。這里還是要安利一下 @lepture 大神的Github 以及他的 Python-China,* Github: https://github.com/lepture* Python-China: http://python-china.org@lepture 大神的源碼通常結(jié)構(gòu)良好,復(fù)雜度適中,有著很好的可讀性,更重要的是給我的感覺,審美和社會(huì)責(zé)任感(比如非常注重Accessability)非常Nice,這里點(diǎn)32個(gè)贊先~以上是正在努力學(xué)習(xí),努力賺錢,為遙不可及的夢想而奮斗的一個(gè)菜鳥的一點(diǎn)感觸,希望能對你有幫
其實(shí)這壓根不是學(xué)Python的問題,而是學(xué)計(jì)算機(jī)的問題,不光學(xué)Python會(huì)遇到,學(xué)任何語言都會(huì)遇到這樣的問題。我一直覺得,編程在某種程度上和寫作無比類似。編程語言的意義和紙筆類似,是寫東西的必要條件,但不充分。學(xué)會(huì)了編程語言,不過是有了在用筆在紙上寫字的能力,離能寫出好的文章差的可遠(yuǎn)著吶。那么,怎么才能提高寫出東西的能力?這個(gè)和寫作一樣,首先你得有寫的動(dòng)力,其次是要學(xué)習(xí)如何去寫,最后才是多寫。動(dòng)力是最重要的。不管是因?yàn)榕d趣愛好還是因?yàn)樯钏龋愣夹枰o自己一個(gè)努力的理由。除了敦促你努力,帶來動(dòng)力的源泉往往會(huì)直接或間接的指明你的努力方向,這對后續(xù)發(fā)展有很大幫助。如果你的動(dòng)力是應(yīng)聘好公司拿高薪,那么目標(biāo)公司的職位要求就是你的方向;如果你想寫出有趣的網(wǎng)站,那么web相關(guān)就是你的方向;如果你對編程語言本身感到著迷,那么編程語言理論或編譯器就是你的方向。這樣,你就不會(huì)迷茫,今天寫個(gè)爬蟲,明天寫個(gè)貪吃蛇,可過了好久發(fā)現(xiàn)自己還在原地踏步。接下來是學(xué)習(xí)如何去寫。說白了就是學(xué),使勁學(xué),把你希望的方向里能學(xué)會(huì)的全學(xué)會(huì)。先爬上巨人的肩膀才有可能墊高巨人的肩膀。最后才是多寫。什么也不學(xué)的瞎寫是毫無意義的。在沒有學(xué)會(huì)許多東西之前一味強(qiáng)調(diào)多寫是十分愚蠢的事情。當(dāng)你學(xué)了一些東西時(shí),寫的時(shí)機(jī)才到了。這時(shí)去放手實(shí)踐你學(xué)到的東西吧。之后的路就相對清晰了。一直學(xué)下去,寫下去,就這么簡單。我想,對大部分人來說,最難的就是找到動(dòng)力源泉了。可惜,我也沒有通用的方法幫你找到它。對于此,似乎只能看運(yùn)氣咯。
最后:自己多問下為什么學(xué)python
如果一門語言沒有改變你的編程思維,那么它不值得你去學(xué)習(xí)”。如果這么說,我們大學(xué)的時(shí)候,學(xué)習(xí)了c,c++,java,C#,算是值得學(xué)習(xí)么?很多時(shí)候是不值得,我覺得我們大學(xué)的課程就是用java,c#,c++把"C程序設(shè)計(jì)"又上了一遍.
這是因?yàn)椋瑢W(xué)校的老師會(huì)C和java之類的,所以要跟著規(guī)矩開這門課,(這也就是為什么,許多學(xué)校還在教vb,),這也就是為什么,你所以為的一樣就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所謂的不一樣就是用C有指針,java沒有,這就是為什么教育是失敗的,這也就是為什么,我目前認(rèn)識的幾個(gè)編程大牛
python的優(yōu)點(diǎn):簡單 我所說的簡單,是相比于象C和C++這樣的語言,你為了編程,要學(xué)習(xí)許多偏底層的東西.在比如,你在學(xué)習(xí)一個(gè)新的編程范式,或者想要馬上做個(gè)例子看看,試驗(yàn)?zāi)硞€(gè)API,如果你是寫java的,你不得不去寫一個(gè)main,寫一些構(gòu)造,即使有IDE這樣的東西,能夠?yàn)槟銕泶a生成器,而我做得就是寫一段“腳本”,或者打開python交互式解釋器就行了。
自己認(rèn)識的python朋友出去工作,工資比較高,然后自己又剛剛好是會(huì)python所以選擇學(xué)習(xí)python,這樣的人比較危險(xiǎn)但是也比較有激勵(lì),還有就是覺得python比其他開發(fā)語言好用。
學(xué)完python前景會(huì)咋樣
其實(shí)我個(gè)人是很看好python未來的就業(yè)前景的,因?yàn)槲艺J(rèn)識太多的工程師都已經(jīng)在學(xué)python,很多都是月收入大幾萬的
我個(gè)人也并非一直用python。前些年主要用c/c++以及java開發(fā)一些通信,移動(dòng)系統(tǒng),互聯(lián)網(wǎng)通信。近3年開始才轉(zhuǎn)向python。坦白的說,這可能與你相處的公司以及環(huán)境不大一樣。隨便舉個(gè)例子,google的protocol buffer協(xié)議一出來就具有c++/python/java三種語言支持。google的廣告系統(tǒng)早在03,04年左右就一并對python進(jìn)行了webservice支持,大部分涉及基礎(chǔ)核心系統(tǒng)的公司,都開始對python進(jìn)行了擴(kuò)展支持。甚至開源社區(qū)的postgresql數(shù)據(jù)庫,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外對python進(jìn)行了內(nèi)嵌支持,唯獨(dú)卻沒有呼聲很高的java。在FREEBSD(MIT)/LINUX(GPL)平臺(tái)上,對java可能排斥性比較大,但綜合而言,目前python發(fā)展還沒有java那種普及,主要是python大部分工作仍然是在較為深入地系統(tǒng)層和框架層做設(shè)計(jì)開發(fā),例如django,SQLAlchemy,fail2ban,mail郵件系統(tǒng),twisted等等。這部分對于那種習(xí)慣應(yīng)用前輩們框架的編碼人員而言,缺乏創(chuàng)造力的他們根本無法適用這種開發(fā)。尤其在python涉及一些系統(tǒng)層面需要有較強(qiáng)的c/c++能力,這部分人在國內(nèi)要么就累得要死沒時(shí)間,要么就啥都不會(huì)就會(huì)拷貝代碼,而國內(nèi)公司也鮮有主動(dòng)去做這部分基礎(chǔ)勞動(dòng)的,大多都是等別人做好了在直接拿來用,所以造就了任何技術(shù)性的東西出來,國內(nèi)都是先等等看,然后抄襲應(yīng)用。
大環(huán)境如此,但千萬誤認(rèn)為先等等看吧。對于一個(gè)技術(shù)人員而言,缺乏對新技術(shù)的渴望與熱情,這是一種非常危險(xiǎn)的事情。我工作8年了,按照國內(nèi)很多的人的說法早已不做代碼了,但又一次在聽一個(gè)老外的演講,他說他50多歲仍然每天堅(jiān)持寫代碼,了解最新的動(dòng)態(tài),所以他才能做到他們公司的首席科學(xué)家,因此它才能時(shí)刻指導(dǎo)項(xiàng)目團(tuán)隊(duì)前進(jìn)并保證項(xiàng)目的質(zhì)量。他坦言對于一個(gè)不寫代碼并且不了解最新的技術(shù)動(dòng)態(tài)的技術(shù)人員或者技術(shù)團(tuán)隊(duì)的負(fù)責(zé)人而言,這種團(tuán)隊(duì)也就足夠做作小項(xiàng)目,一旦壓力和項(xiàng)目過大,就會(huì)有很多問題漏出來。
對于新人而言,無論學(xué)習(xí)什么技術(shù),都要以鼓勵(lì)的姿態(tài)出現(xiàn)。太多用薪水和你個(gè)人所看到的現(xiàn)狀去衡量一門技術(shù),那絕對是欠缺眼光的。任何一門技術(shù),一旦有人學(xué)習(xí),他有可能逐漸成為這個(gè)領(lǐng)域的專家,即便再濫再?zèng)]有人用的開發(fā)語言技術(shù),他也有可能就是明日的奠基者或者大師。
自己如何確定目標(biāo)
在生活中學(xué)會(huì)不斷挖掘自己的潛力。我們都是一個(gè)普通人,可能并不清楚自己到底在哪方面占有優(yōu)勢。所以,學(xué)著在生活中找到自己的優(yōu)勢,并根據(jù)優(yōu)勢選擇一定的就業(yè)方向。
不隨波逐流。不要看周圍的人做什么,自己就做什么,也許別人做的并不適合你。別人的優(yōu)勢很可能會(huì)成為你的劣勢。所以,堅(jiān)定自己的想法,讓自己知道那些方面適合自己,自己可以勝任。
不斷嘗試可能成為自己的優(yōu)勢。你不知道什么適合自己,所以才要大膽、勇敢地嘗試。找到一種可以屬于你的獨(dú)特的優(yōu)勢。
堅(jiān)定信念。一旦你堅(jiān)定了自己的信念,就不要被別人的意見或是諷刺或是嘲笑所干擾。別人不是你,不懂的你在想什么,不清楚你開始這件事的源頭。你的事情,不了解你的人,沒有資格輕易評說。
不茫然,不多想。別讓太多的事干擾到你奮斗下去的信念。夢想不容許太多的雜念。那些雜念只會(huì)讓你的心愈來愈脆弱,多為一個(gè)人考慮,到頭來,傷害的還是自己。
選擇自己學(xué)習(xí)方法
每個(gè)人都有適合自己的方法,有的人去選擇自學(xué),有的人選擇看視頻學(xué)習(xí),有的人選擇報(bào)名培訓(xùn)班,那在這個(gè)時(shí)候,你就要自己考慮清楚,到底那樣對的幫助是最大的,個(gè)人覺得是跟著培訓(xùn)班最好的,畢竟人家的實(shí)戰(zhàn)項(xiàng)目多,我們學(xué)軟件開發(fā)的都知道實(shí)戰(zhàn)項(xiàng)目對于學(xué)好一門語言是 很重要的。
學(xué)習(xí)python有那些誤區(qū)
具體里面的誤區(qū)非常的多,那些就不需要我去寫出來,我給你說的一般都是心態(tài)的問題,首先一個(gè)覺得自己會(huì)java和c++,然后我學(xué)習(xí)python就很牛,但是你要知道語言是有很多相同的地方,但是不是通用,一定要自己學(xué)習(xí)的仔細(xì)。還有一種就是覺得我不會(huì)英語,我要先去把英語學(xué)習(xí)好在來學(xué)python。因?yàn)樽约合脒€壞主意然后學(xué)習(xí),這樣的都是容易找進(jìn)誤區(qū)的。
怎么樣才能學(xué)好python
學(xué)好python你需要一個(gè)良好的環(huán)境,一個(gè)優(yōu)質(zhì)的開發(fā)交流群,群里都是那種相互幫助的人才是可以的,我有建立一個(gè)python學(xué)習(xí)交流群,在群里我們相互幫助,相互關(guān)心,相互分享內(nèi)容,這樣出問題幫助你的人就比較多,群號是304加上050最後799,這樣就可以找到大神聚合的群,如果你只愿意別人幫助你,不愿意分享或者幫助別人,那就請不要加了,你把你會(huì)的告訴別人這是一種分享。
感覺寫的好,對你有幫助,就點(diǎn)個(gè)贊唄,別光只收藏哈.~( ̄▽ ̄)~
?