Python是當下國內最爲火爆的編程語言,沒有之一!python
Python加入計算機等級考試,且即將加入考高,甚至於有小學都開始教授Python!編程
學習Python最好的途徑——激發本身的學習興趣!
Python 的概念
「人生苦短,我用Python」。這句戲言真實反映了Python語言的江湖地位。那麼,要快速上手和進階Python編程,有什麼好途徑呢?我推薦遊戲開發。
**創一個小羣,供你們學習交流聊天
若是有對學python方面有什麼疑惑問題的,或者有什麼想說的想聊的你們能夠一塊兒交流學習一塊兒進步呀。
也但願你們對學python可以鍥而不捨
python愛好羣,
若是你想要學好python最好加入一個組織,這樣你們學習的話就比較方便,還可以共同交流和分享資料,給你推薦一個學習的組織:快樂學習python組織 能夠點擊組織二字,能夠直達**網絡
遊戲開發激發學習熱情編程語言
做爲一名擁有十餘年程序設計教學經驗的老師,我清楚地記得,當告訴學生們課程任務有俄羅斯方塊遊戲開發的時候,部分同窗在課堂上熱切地喊出「好耶」,部分同窗鼓起掌來,你們一副躍躍欲試的神情。函數
那是我在2014級軟件工程專業教學改革試點班中作的嘗試。開設的課程叫做「大學計算機基礎B」,一共16周,64學時。前面第11周講授計算機基礎和Python編程,後面5周學生學習C/C++(因後續課程須要)。後5周的大做業就是基於Win32 API開發俄羅斯方塊遊戲程序。我多少有些擔憂學生是否作得下來,然而到驗收的那一天,我有些吃驚。大部分同窗的做品都明顯超出了做業要求的標準。學習
儘管有不少因素(好比強有力的教輔)促成了這樣的好結果,但我認識到一個重要的緣由是「激發了學生們的學習熱情」。是的,遊戲開發有這個效果。有學生告訴我,他把本身的做品發佈到高中同窗羣,讓同窗們玩玩,結果贏得讚譽一片。我察覺到了學生嘴角露出了小小的得意。有學生開夜車編程序,搞到凌晨兩三點都不想去睡覺。因此呢,我百分百確定,遊戲開發是學習Python編程的好途徑。動畫
遊戲開發門檻低設計
用Python開發遊戲的門檻是很低的。例如,實現顯示遊戲窗口(見圖1)的代碼,不包括空行和註釋行的話,只須要15行。若是你想親自驗證一下,那麼請閱讀我發佈的代碼文件,而後數一數其中有實際功能的代碼行數。我之前用VC++開發圖形界面程序的時候,實現顯示遊戲窗口的代碼有一大堆,跨好幾個文件,讓人望而生畏。用Python的話,基於Pygame模塊,15行代碼就搞定了。視頻
學習Python最好的途徑——激發本身的學習興趣!
遊戲窗口
不管是Python入門,仍是Python進階,學習者都有適合的遊戲開發項目可供選擇。正是這樣,Python語言成爲教孩子學編程的優先選擇。教小孩學編程,可不能一本正經的,必須用好招吸引他們,激發他們。遊戲開發就是經常使用的招術。以《教孩子學編程(Python語言版)》一書爲例,該書一開頭就教孩子繪製彩色螺旋線,接着教孩子編寫小遊戲,而後教孩子編寫具備動畫、鼠標控制的遊戲。我建議初學者能夠自降身份去學一學這本書。若是你想編寫有更多挑戰的遊戲,那麼建議你學習《Python遊戲編程快速上手》一書或者《Python遊戲編程入門》一書。對象
還想要更高一點的挑戰?建議你嘗試跟着我學習「用Python開發俄羅斯方塊」。你能夠訪問我在GitChat開設的達人課。該教程面向的是已有Python編程基礎的、想進一步提升Python編程能力的開發者。教程設計採用「小步走」策略,一共有22篇文章。每一篇都是一個完整的實驗步驟,實現一個功能。在每一篇文章中,首先指出實驗步驟的目標,也就是指出完成整個步驟後,程序運行效果是什麼樣的。接着,描述實驗步驟的實現思路和任務。而後,逐個任務地講解具體的作法,也即指出哪裏要修改/補充什麼代碼,改寫後的代碼是什麼樣的,爲何要這樣作。最後,給出該實驗步驟完成後的源代碼版本的Github連接,供瀏覽或下載。到最後,咱們將實現能供家人、朋友或同窗實際玩一玩的俄羅斯方塊遊戲。圖2是運行界面的截屏。我上傳的視頻呈現了該程序的運行效果。
學習Python最好的途徑——激發本身的學習興趣!
俄羅斯方塊
有沒有開源的遊戲程序呢?有的,知乎上的一篇文章推薦了很多開源項目。其中推薦的 BombSquad是一個 3D 炸彈人遊戲,界面(見圖3)仍是挺酷炫的。
學習Python最好的途徑——激發本身的學習興趣!
炸彈人遊戲
從遊戲開發中能學到什麼
開發者有機會接觸到千行代碼量級的程序。初級開發者編寫的程序通常只有幾十行代碼。要指出的是,編寫幾十行代碼的程序和編寫千行代碼的程序,徹底不是一個量級的事。至少,千行代碼這一現實將促使開發者養成使用函數的習慣。我上編程基礎課的時候,因爲編寫的程序只有幾十行代碼,學生不肯意用函數,你再苦口婆心地講道理也沒用。
遊戲開發要求開發者採用良好的結構來組織代碼。程序的代碼量上去了,會促使開發者使用多個模塊文件,甚至使用類與對象來編程。
從遊戲開發中,開發者將學習圖形界面開發(GUI),理解事件驅動編程模型。這將會幫助開發者消除對軟件的神祕感,有助於開發者開展更多的探索。
遊戲開發會提升開發者的學習能力。例如,遊戲開發會用到python標準庫以及各類第三方庫。這將促使開發者藉助網絡和手冊,查詢各個函數的用法,學習相關的概念和知識。一點一點地,開發者擁有更多知識,更強的學習能力。
遊戲開發實踐注意事項
切勿囫圇吞棗。不要這樣作:照着書本或者教程敲(甚至複製)一遍代碼,跑一遍程序就算完事了。你必須本身搞懂。不管是總體思路,仍是一行代碼內的細節,你都要吃透。怎樣算吃透了程序?不借助書本或教程(藉助手冊查閱函數的用法是能夠的),能正確地再寫一遍程序。
採用「小步走」策略。下一步只實現一個小功能。實現完成後,檢查運行效果。經過後再去完成下一個功能。
多用函數,多用函數,多用函數。把程序代碼分解到多個模塊文件。使用類和對象來組織代碼。
尋求幫助。我遇到問題的時候,首先作的是釐清問題是什麼。接着,我會在網絡引擎的搜索框內輸入描述問題的關鍵詞,指望獲得解決辦法的線索。這幫了個人大忙。最後,我偶爾會到論壇上提問。CSDN論壇就是一個好選擇。
最重要的是,動手幹!
學習Python最好的途徑——激發本身的學習興趣!人生苦短,我用Python!