趙玉明
摘要:python被益為膠水語言,簡介高效適用場合多,本文從課堂教學出發,探討了如何深入系統的掌握一門編程工具。
關鍵詞:編程模式;教學重點;標準庫;擴展庫
![]()
據了解,到了2027年,Python會推出5.0版本,開發效率極高、運行速度飛快,會成為全球最受程序員歡迎的開發語言!全球超過50%的IT系統是基于Python開發的。Python在數據分析(大數據/金融分析/商業分析/科學分析等)領域,在人工智能、深度學習領域應用。利用Python 語言提高開發能力,進行網站開發,創建GUI 應用、構建2D/3D 的展示和游戲等。
1 Python編程模式與教學方法
大部分講授Python的老師都有其他語言的編程經驗,聽課的學生也很可能接觸過其他編程語言。在講授、學習和應用Python時,切記不要把其他語言的編程習慣和風格帶到Python中來。不能使用其他語言尤其是C語言的思路去編寫Python程序,那會使得代碼變得非常冗長、繁瑣、可讀性差并且難以維護,浪費大量的寶貴時間,無法發揮Python的優勢,甚至有可能寫出看似正確實則錯誤的代碼。
作為Python用戶,盡量嘗試從最自然、最簡潔的角度出發去思考和解決問題,這樣才能寫出更加優雅、更加Pythonic的代碼。在講授Python程序設計課程時,建議采用邊講邊練、學生分組合作的教學模式,精心設計一些案例帶領學生一起完成并做好嚴格的過程控制與管理,對出現的錯誤信息分析糾錯,通過分步測試解決出現的問題。同時經常鼓勵和引導學生去想“還有沒有更簡潔更快速更直接更好的方法?”類似的問題,激發學生的潛能,也充分挖掘Python語言的潛能。例如:在計算1+2+3+……+99+100=?時,同學們普遍采用循環結構計算語句不夠簡潔,要求學生用一行語句輸出結果,該語句為:sum(range(1,101))
2 Python基礎知識教學重點
2.1 代碼規范
在編寫選擇結構、循環結構以及定義函數和類時,一定要嚴格按照預期的邏輯關系對代碼進行正確的縮進。
2.2 關鍵字、變量、運算符與表達式
在任何編程語言中,關鍵字、變量、運算符、表達式都是最基本和最重要的內容,Python也不例外。在Python中,可以使用print(keyword.kwlist)語句查看所有關鍵字列表,并且不允許使用關鍵字作為變量、函數或類名。Python采用的是基于值的自動內存管理模式,變量不直接存儲值,而是存儲值的引用,這使得Python變量的使用非常靈活方便,例如在列表或元組等序列中可以同時存儲不同類型的數據。在Python中,變量不需要提前聲明,使用結束后也不需要刻意考慮變量的釋放,同時還支持動態改變變量類型。
2.3 Python序列
Python不僅提供了整數、實數、字符串等常見數據類型,還內置了列表、元組、字典、集合等功能強大的序列類型,同時range對象、reversed對象、map對象、文件對象以及其他可迭代對象也支持與Python序列類似的操作。序列可以說是Python最重要的一部分內容,也是實現業務邏輯的重要途徑,這部分內容一定要精講多練。
2.4 帶有else的循環結構和異常處理結構
在Python中,for循環、while循環和異常處理結構可以帶有else子句。對于循環結構而言,當循環條件不成立時執行else中的代碼,如果是執行了break語句跳出循環則不執行else中的代碼。對于異常處理結構而言,如果try中的代碼沒有引發異常則執行else中的代碼。帶有else子句的循環結構和異常處理結構更符合人類的思維方式,可讀性較強,同時也減少了代碼量,是應該熟練掌握和運用的。
2.5 Python內置函數和標準庫
教學中應培養學生經常瀏覽Python幫助文檔的習慣,熟悉Python提供的內置對象和標準庫功能,而不是遇到什么問題都首先想到自己寫代碼實現全部功能,這樣才能獲得更高的開發效率。同時,為培養學生自學能力和獲取新知識的能力,應要求熟練使用dir()函數查看模塊中對象列表以及使用help()函數查看對象使用幫助。下面通過幾個例子說明Python內置函數和標準庫的強大功能。
列表對象已經提供了原地排序方法sort(),而內置函數sorted()則提供了更加強大的功能,可以實現列表、元組、字典以及range和其他可迭代對象的復雜排序。然而,Python標準庫fractions已經提供了用于計算最大公約數的方法gcd(),直接調用即可。
例如:>>> fractions.gcd(40, 32) ?結果為8
3 Python標準庫和擴展庫簡介
Python擁有大量涉及幾乎所有領域的標準庫和擴展庫,并且絕大部分擴展庫都支持使用pip工具進行安裝和管理。需要說明的是,不論針對哪個領域的應用開發,也不論選擇哪個標準庫或擴展庫,Python運算符、序列、各種推導式、程序控制結構、異常處理結構、文件操作等基本知識都是非常重要的,只有完全理解和熟練掌握這些Python基礎知識才能更有效地運用各種擴展庫。在教學過程中可根據具體的學生專業進行適當選取。其中包括GUI編程,網絡編程,大數據處理,系統編程與多語言混合編程,線程編程與進程編程,數據庫編程,多媒體編程與游戲編程,逆向工程與軟件分析,科學計算、統計分析與可視化,移動終端編程,密碼學編程,人工智能與機器學習編程等內容。
4 結語
近幾年來,很多高校多個專業陸續開設了Python程序設計課程,結合多年Python教學工作和實際開發中總結的經驗,對Python編程模式和教學重點進行了剖析,對Python編程模式進行了深入剖析,對Python的應用領域進行了認真梳理,對國內Python程序設計教學工作有極大的促進作用。
參考文獻:
[1]肖旻,陳行. 基于Python語言編程特點及應用之探討[J]. 電腦知識與技術, 2014, 10
[2]董付國. Python程序設計基礎[M]. 北京:清華大學出版社, 2015.8