學(xué)習(xí)Python:腦筋急轉(zhuǎn)彎和其他有趣技巧
當(dāng)疫情開(kāi)始時(shí),我們都得到更多時(shí)間來(lái)做平時(shí)沒(méi)辦法做的事情,于是我決定開(kāi)始寫我的書。但就像很多其他人一樣,最后我在電視機(jī)前花費(fèi)的時(shí)間比在筆和紙更多。
而咨詢和研討會(huì)提供商353Solutions的首席執(zhí)行官M(fèi)iki Tebeka卻不是這樣,當(dāng)疫情開(kāi)始后,他開(kāi)始編寫Python練習(xí)書。他也是《Python Brain Teasers》一書的作者。
Tebeka說(shuō):“我喜歡思考問(wèn)題、腦筋急轉(zhuǎn)彎和教學(xué)示例。”
Tebeka說(shuō)他已經(jīng)使用Python多年,目前正在教授有關(guān)編程語(yǔ)言的講習(xí)班?!禤ython Brain Teasers》的好處之一是它使學(xué)習(xí)Python變得有趣。
Tebeka說(shuō):“我想使它變得既有趣又有教育意義。”
從哪里開(kāi)始?
盡管編寫《Python Brain Teasers》時(shí)考慮的是高級(jí)Python編碼人員,但其他人也可以學(xué)習(xí)。每個(gè)人具體從哪里開(kāi)始,取決于個(gè)人。
Tebeka說(shuō):“有些人很有上進(jìn)心,他們喜歡自己做事情,并努力解決事情。有些人剛開(kāi)始需要更多的結(jié)構(gòu)。所以,這實(shí)際上取決于你的學(xué)習(xí)風(fēng)格。”
很多初學(xué)者是從bootcamp以及教授Python基礎(chǔ)知識(shí)的研討會(huì)開(kāi)始。Tebeka推薦的學(xué)習(xí)Python的最大技巧之一就是參與編碼社區(qū)。
Tebeka表示,參與Twitter很容易,有些人會(huì)在Twitter上發(fā)布與他在書中介紹的類似的Python腦筋急轉(zhuǎn)彎。在Slack和Discord中也有聊天社區(qū),其中程序員可以在其中與其他編碼員聯(lián)系并快速回答問(wèn)題。社交媒體也是一種很好的聯(lián)系方式。Tebeka特別提到了Twitter,但是Reddit上也有社區(qū),例如r / learnpython和r / Python,這都是代碼編寫者交流的地方。
Tebeka說(shuō):“我真的很喜歡Python社區(qū),原因之一在于他們致力于成為友好的社區(qū)。他們不喜歡那些無(wú)禮的人。”
擴(kuò)展你的Python知識(shí)
學(xué)習(xí)編程語(yǔ)言與學(xué)習(xí)第二種口語(yǔ)沒(méi)有什么不同。持續(xù)學(xué)習(xí)很重要。對(duì)于口頭語(yǔ)言,這意味著盡可能多地閱讀、寫作和表達(dá)。對(duì)于編碼,這意味著要閱讀由優(yōu)秀的開(kāi)發(fā)人員編寫的代碼,以及編寫代碼以擴(kuò)展你的能力。
Tebeka說(shuō):“我們可以閱讀代碼,向真正優(yōu)秀的開(kāi)發(fā)人員學(xué)習(xí)。但是自己編寫代碼是迄今為止最有效的方法。”
雖然他的書更適合于高級(jí)代碼編寫者,但還有很多類似的有趣的Python書籍適合初學(xué)者。Tebeka舉例提到Advent of Code活動(dòng),這是一個(gè)為期25天的年度編程挑戰(zhàn)賽,從每年 12 月 1 日持續(xù)到 25 日。
Tebeka說(shuō):“這不需要很多時(shí)間,我覺(jué)得這很有趣。”
理解的重要性
對(duì)于學(xué)習(xí)Python的其他技巧,Tebeka還建議進(jìn)行提問(wèn)并嘗試?yán)斫庠颉?/p>
據(jù)他介紹,程序員經(jīng)常會(huì)在Python社區(qū)中尋求幫助,獲得答案并僅復(fù)制和粘貼代碼。有時(shí)這會(huì)奏效,但不一定總是最好的解決方案。
Tebeka說(shuō):“我試圖在腦筋急轉(zhuǎn)彎中做的是-除了說(shuō)‘這是要打印出來(lái)的內(nèi)容’-我想要解釋‘這就是為什么發(fā)生的原因’。”
另外,對(duì)你的代碼進(jìn)行批判可以幫助理解和提升能力。Tebeka表示,結(jié)對(duì)編程或代碼審查提供很多可學(xué)習(xí)的知識(shí)。
試一試
那么,Python腦筋急轉(zhuǎn)彎是什么樣的呢?請(qǐng)查看Miki Tebeka撰寫的Python Brain Teasers中的示例。