Python以語(yǔ)法簡(jiǎn)單、關(guān)鍵字少著稱,因此經(jīng)常被各大媒體忽悠其是一門非常容易入門的編程語(yǔ)言。他的特定描述自然不言而喻,但其是否容易入門卻飽受爭(zhēng)議。因?yàn)槊總€(gè)人的基礎(chǔ)都不一樣。
市面上大部分的Python入門書籍的目錄都非常長(zhǎng)(畢竟缺少某個(gè)重要的知識(shí)點(diǎn)會(huì)被批),但是作為入門來說,真的需要所有的知識(shí)點(diǎn)都學(xué)習(xí)一遍嗎?
對(duì)于入門者來說,看著這些書籍目錄學(xué)習(xí)往往會(huì)遇到各種陷阱,今天我就來分享一下我的個(gè)人觀點(diǎn)。
語(yǔ)法太多了
Python的語(yǔ)法規(guī)則多不多?其實(shí)非常多,如果你學(xué)習(xí)過一些古老不再更新的編程語(yǔ)言,對(duì)比下來你就會(huì)發(fā)現(xiàn)其實(shí)Python語(yǔ)法非常多。
因?yàn)镻ython需要適應(yīng)現(xiàn)代的開發(fā)要求,他"逼不得已"需要不斷加入新的語(yǔ)法特性,比如像"裝飾器"、"海象運(yùn)算符"等等。
此時(shí)初學(xué)者會(huì)陷入第一個(gè)陷阱——抵受不住"目錄"的誘惑,感覺自己跳過了某個(gè)知識(shí)點(diǎn)就會(huì)無法入門。
作為入門者我是不建議學(xué)習(xí)這些東西(短期內(nèi)你大概率用不上)。
那么,到底需要學(xué)習(xí)哪些語(yǔ)法?
·分支判斷
·循環(huán)
說白了就是if和for循環(huán)。
其實(shí),學(xué)習(xí)這些語(yǔ)法不是要你去記憶怎么寫,大部分時(shí)候這些語(yǔ)法語(yǔ)句不需要我們親手敲出每個(gè)字母,因?yàn)楝F(xiàn)在的ide都非常友好,一般都能提供生成代碼段的功能。
序列的處理非常重要
當(dāng)你基本了解if和for的使用后,下一步就要了解序列的數(shù)據(jù)結(jié)構(gòu)(列表、元組)。
此時(shí),初學(xué)者會(huì)陷入另一個(gè)坑——列表有許多方法需要記憶!
同樣地,我也不推薦入門者記憶這些方法,只需要記住最常用的1、2個(gè)操作即可。比如:
·添加元素:append
·移除元素:remove
同理,字符串也有許多處理方法,通常我們只需要學(xué)習(xí)少量幾個(gè)方法即可。
小伙伴:"?!,就這樣子?"
事實(shí)上,后期你可能連上述2個(gè)操作都很少用上。因?yàn)樵赑ython中更傾向于構(gòu)造新的序列,而非對(duì)序列原地操作。
當(dāng)你后期學(xué)會(huì)了推導(dǎo)式之后,你就會(huì)發(fā)現(xiàn)用得最多的語(yǔ)法就是if和for。
你可能疑惑,為什么序列的處理很重要?
不管你學(xué)習(xí)什么的編程語(yǔ)言,不管你是應(yīng)用開發(fā)還是普通的辦公自動(dòng)化學(xué)習(xí),真正復(fù)雜的邏輯大部分來自于序列的處理。
比如一堆文件、每個(gè)文件中又會(huì)有一堆的數(shù)據(jù)。
而簡(jiǎn)單的單個(gè)數(shù)據(jù),往往操作也是非常直白簡(jiǎn)單。
字典要不要在這個(gè)階段學(xué)習(xí)?我建議是可以嘗試了解,如果發(fā)現(xiàn)自己不能理解,那就跳過。因?yàn)楹笃诳倳?huì)有他的應(yīng)用場(chǎng)景,那時(shí)候結(jié)合場(chǎng)景學(xué)習(xí)會(huì)更加輕松。
學(xué)習(xí)分解問題的思維
經(jīng)過上面2個(gè)階段的學(xué)習(xí),你會(huì)發(fā)現(xiàn)自己充其量只能解決小學(xué)加減乘除的簡(jiǎn)單問題,稍微復(fù)雜一點(diǎn)的問題你就毫無頭緒。
此時(shí)你就陷入了另一個(gè)陷阱——一邊思考邏輯一邊寫代碼。
多數(shù)入門書籍都不會(huì)教你這一點(diǎn),因?yàn)檫@不是Python的特性,但他極其重要。
編程的本質(zhì)是把現(xiàn)實(shí)邏輯用代碼表達(dá)出來。
而現(xiàn)實(shí)中,我們要完成一件比較復(fù)雜的事情時(shí),都是先考慮整體流程,劃分出多個(gè)子流程,最后才針對(duì)每個(gè)子流程考慮細(xì)節(jié)。
我的文章少不了案例。
考慮以下的現(xiàn)實(shí)場(chǎng)景:你希望從你家里書架上(有100多本)找出某作者的書。
你可能覺得這個(gè)事情非常簡(jiǎn)單,不就是從頭開始,每本書都看看作者名字,符合就拿出來?
這個(gè)思考過程實(shí)際就是從整體到細(xì)節(jié)的過程:
1)首先,你會(huì)考慮從哪里開始找,總有個(gè)搜索方向。比如從書架左上角橫向掃過每一行的書。
2)其次,在沒有開始找之前,你就決定找出一本書后,看封面的作者名字。
3)最后,符合條件要拿出來,與原來的書區(qū)別開來。
注意上述每一點(diǎn)的思考都是在你開始操作之前就決定的,這就是整體到細(xì)節(jié)的考慮。
你不會(huì)隨手拿起一本書,然后才想到底怎么找作者名字?找到又要不要拿出來?這是非常反人類直覺的做法。
一定要學(xué)習(xí)自定義函數(shù)
為什么編程語(yǔ)言基本都有自定義函數(shù)的特性?因?yàn)檫@符合我們解決問題的思維邏輯
怎樣進(jìn)階
上面的總結(jié)(針對(duì)入門):
·語(yǔ)法學(xué)習(xí)簡(jiǎn)單為主(if、for)
·基本序列要了解(列表、元組),但其對(duì)象操作方法不用特意記憶
·學(xué)會(huì)分解問題的思維
·學(xué)會(huì)自定義函數(shù)
實(shí)際上,點(diǎn)3才是最重要,其他點(diǎn)只是為他服務(wù)。
因此,Python的進(jìn)階仍然是圍繞點(diǎn)3而展開。
比如,前面的例子中,整體流程代碼中仍然包含了"取出符合條件的書"的邏輯,這其實(shí)不太合理。那么此時(shí)你就學(xué)習(xí)新的語(yǔ)法知識(shí)點(diǎn),讓你能簡(jiǎn)化整體流程代碼。
以上內(nèi)容為大家介紹了入門Python的4大陷阱,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/