課程名稱 | 從零開始PYTHON3 |
---|---|
課程長度 | 15講 |
適用年齡 | 15-20歲(初三-大一) |
本講名稱 | 認識Python |
時長 | 90分鍾 |
教學內容分析 |
---|
Python是時下最流行的計算機編程語言之一。本課程設計目標是面向“第一次學習編程的信息技術零基礎用戶”,課程通過平緩的學習曲線和實用的案例引導,較為輕松愉悅的完成學習。 本講是課程的第一講,力求使用通俗的語言讓學生了解Python的優勢、應用,了解Python語言的價值,激發學習的興趣。 |
教學目標及重(難)點 |
本講課程試圖達到以下目標: 1.理解Python語言的功能作用; 2.通過演示和動手實操讓學生近距離接觸Python,激發學生對於Python學習的興趣; 3.讓學生能在講義的指導下,自主完成Python編程環境的安裝,為今后的學習搭建一個練習的環境。 |
學習者特征分析 |
中學階段的學生好奇心強,思維活躍,樂於接受新鮮事物,但是注意力集中時間有限,本期課程通過案例演示和動手操作提高課程的趣味性,抓住學生的興趣和專注力,為他們學習編程建立積極的心理預期。 第一節課,可能有的學生完全不了解編程,有的學生只學過圖形化編程,本課將為他們建立python語言相關的概念基礎和思維習慣。 |
教學環境資源 |
硬件:電腦(系統要求:Win7及以上、Linux或者Mac電腦;建議8G以上內存,100G以上硬盤),也可使用樹莓派3代B+以上型號標准配置。 軟件:Python官方發布的軟件版本3.6或者更高 |
《從零開始PYTHON3》第一講
Python是一種計算機程序設計語言,第一個公開版本發行於1991年。
Python是純粹的自由軟件。語言免費使用,甚至全部源代碼也免費開放。Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。
常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面)。然后對其中有特別要求的部分,用更合適的語言改寫。比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。
本課程定位於“零基礎編程課”,也就是假定用戶剛剛開始接觸編程,而Python則是學習者的第一門編程語言。
因此本課程在講解Python的同時,引入了較多的案例和編程必備的常識性基礎知識,同時采用大量的講解和穿插的練習讓學習者跟得上、不掉隊。
課程試圖達到:
在完成課程的學習之后,動手能力強的學生可以在互聯網搜索引擎的幫助下,利用Python解決日常學習、工作中碰到的問題,可以編寫實用的小工具。
大多數學生能夠掌握Python的基本功能和必要知識體系,了解編程的必備知識,后續在搜索引擎及課程講義的幫助下有能力繼續自學並最終把Python當做自己日常學習、生活中的重要工具。完成把計算機從娛樂工具到實用工具的轉變。
為什么要學習Python
在1946年第一台計算機誕生時,仿照自動提花織布機和自動鋼琴的控制方式,誕生了最早的編程語言。時至今日,在電腦領域已發明了上千種不同的編程語言,而且每年仍有新的編程語言誕生。
評價一門編程語言的優秀,有很多個維度。比如是否運行速度快?是否簡單易學?是否容易使用?是否功能強大?
在這些公認的評價中,Python是整體均衡而又功能強大的語言,很多顯著的特征使得Python從眾多的編程語言中脫穎而出成為最受歡迎的編程語言之一。
- Python語言語法簡單,只有很有限的一些規則。語言本身用到的英文單詞命令,包含像加減乘除這樣的運算符在內總共不超過50個,常用的不超過20個,非常易學易用。
- Python語言所編寫的程序代碼非常規范易讀,便於維護和記憶,能培養學習者的良好編程習慣。
- Python不僅適合信息技術專業使用,在學術界、工程界也是廣泛流行的程序語言。
- Python容易同各種編程語言接口,有強大而廣泛的開發社區支持,因此擴展庫的來源豐富,也被稱為膠水語言。在擴展庫的幫助下幾乎能解決所有遇到的問題。(“庫”是軟件業很常用的一個概念,一般是指一組特別定制可重復使用的軟件集合。)
- Python的使用全部免費,本身還開放源代碼,學習和使用的成本低。而且學習的深度可以隨心所欲的從淺嘗輒止到定制開發。
- 有良好的模塊化支持,適應從小功能程序到龐大規模系統的開發。
- 跨平台,Windows/Linux/Mac甚至手機都有Python的身影。不僅語言本身跨平台,大多的擴展庫也支持跨平台,比很多常見的所謂跨平台語言在多種平台上支持更好。
- 目前多個有影響力的人工智能開發平台都選用Python作為主要支持的開發語言。作為未來最有潛力的應用方向,Python的學習也成為人工智能學習的先決條件。
TIOBE公司是世界著名的軟件質量檢測公司。其發布的編程語言占有率排行是最權威的編程語言受歡迎程度晴雨表。
以2018年6月份發布的編程語言排行榜為例,除了Python語言外,java/c/c++/c#/VB/PHP也位於排行榜前列,這些同樣也是非常優秀的編程語言。但是相比較而言,這些語言或者學習難度大,或者使用難度大,或者只適合於某一方面的應用。
每種語言都有自己獨特、優秀的地方,關鍵要用在合適的場景中。
Python能夠做什么
首先同樣作為一門通用的計算機編程語言,Python也能夠完成其它語言通常的通用編程任務。換言之,通常碰到需要編程的任務,如果不能迅速的看出來任務的特定限制性需求,那使用Python一般都沒有問題。
然后,作為一門解釋執行的編程語言,良好的交互命令行方式,也幫助Python在科學計算、統計和科技圖表繪制方面占領了很大的市場。而原本完成類似的功能要使用昂貴的商業軟件或者在傳統編程語言的基礎上增加大量的商業擴展庫。
Python進行互聯網編程也非常易學易用,可以完成從網站編程到手機App后端的各種支持,單純從開發效率來講基本穩居所有編程語言的前列。
Python開發速度快的特性,也讓很多游戲的開發者青睞Python。或者使用Python建立、驗證游戲原型;或者在基礎游戲系統完成后,使用Python作為場景、任務、活動的控制腳本。
因為Python語言的“膠水”特性,需要溝通、控制多種不同品牌、不同廠商的外設、傳感器的情形下,Python在物聯網、機器人控制、自動化控制方面也出現了很廣泛的應用,Python在工程界的普及也對此起到了推波助瀾的效果。
通常在科學界,大量的數據收集、統計、分析必不可少,Python豐富的擴展庫可以讓這個過程變得輕松而高效。因此科學家在模型設計、算法驗證方面也離不了Python的幫助。人工智能的各種神經網絡和算法,其實就起源於這個研究過程。
最后,除了Windows, Python2已經內置於各流行的Linux/Mac操作系統,而Linux又占據當前互聯網服務器超過90%的份額、和嵌入設備超過80%的份額。所以可以看到大量的自動化運維工具,都是使用Python開發的。
有兩個用Python編寫的小游戲,可用於演示Python在通用及游戲編程方面的能力。
如果是在課堂,可以由輔導老師協助你運行演示。如果是閱讀中,可以稍后在本講的靠后面部分有講解幫助你自己動手完成這個過程。
你能看到很短的代碼,就可以實現傳統編程語言需要大量工作才能完成的效果。
https://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python
https://github.com/renfredxh/pylletTown
游戲的程序源碼可以從上述兩個網址下載。這兩個游戲均需要第三方擴展庫pygame的幫助,本講后面也會介紹其安裝方法。
本課程后續內容,還會摘要介紹這兩個游戲中用到的編程方法和技巧。
Python2 VS Python3
Python的讀音是“派森”(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/),是荷蘭人Guido van Rossum(音譯:圭多)在1989年聖誕節期間為了打發無聊的單身生活而開發的一種編程語言。語言的名稱來自當時火爆的英國幽默劇團“Monty Python"。第一個版本運行在蘋果的Mac電腦上,才開始只有很簡單的功能,也只在Guido的小范圍朋友圈流傳試用。經過大量的拓展和改進后,在1991年第一次對外界正式的發布。
Python發布后,快速的發展流行,在Linux中有很多的系統級應用都使用了Python來開發,比如最流行的Linux模塊管理工具APT,以至於很快多個發行版本的Linux中都內置了Pyhton2的程序包。
隨着流傳范圍的進一步擴大,Python早期開發中的一些設計缺陷和規范性不足問題也越來越明顯。於是Python項目組最終在2009年推出了完全重新開發的Python3系統。
Python3在多個方面做了大量改進,具有多項的新特征,是一個令人興奮的升級。但也帶來了同Python2兼容性上的分歧。也就是說,比如希望完成某項功能,我們到互聯網搜索已有程序,如果下載的是Python2所編寫的程序,那可能無法直接運行在Python3的環境當中。並且因為Python2已經非常成功,大量的第三方擴展庫和使用Python2開發的工具包,遲遲沒有完成向Pyhton3的遷移。給人Python3反而不如Python2強大的感覺。這樣的分歧不斷增加,最終形成了Python2 / Python3看上去已經不是版本的差別,而成為了兩種不同的語言,兩者分別在自己的基礎上維護、完善、升級,這樣持續並行發展了近10年。
這使得許多人在開始學習Python的時候,都糾結於究竟是學習Python2還是學習Python3。作為將用戶定位於學習第一門編程語言的課程,我們推薦大家使用Python3作為入門語言,原因如下:
- Python3中對於各國文字一視同仁,中文無需特殊處理。而Python2中需要單獨為中文增加大量操作。
- 重新設計的Python3在語法和邏輯上更嚴謹、規范,也更統一,降低了學習難度,規范了初學者的編程習慣,進而減少了出現低級程序錯誤的可能性。
- 近10年的發展,主要的第三方擴展庫,都已經支持了Python3系統,足以滿足使用要求。
- Python的官方團隊,已經聲明計划在2020年停止對於Python2的支持。
其實學習編程,更多的是學習編程的思想、算法和解決問題的方法,語言本身往往並不那么重要。從事信息技術專業的工程師,為了完成各種各樣的任務,需要學習多種編程語言。而Python2同Python3也並沒有想象中那么大的區別。完成Python3的學習之后,如果有需要,只要很少的針對性練習,就可以通行於Python2及Python3兩種環境之中。
Python的安裝
本節后面的講述包括了Linux/macOS/Windows三種系統的安裝、使用方法,通常你自己的電腦都是只安裝某確定的一種操作系統,所以后面的內容,只要熟悉你自己使用的系統就好。其它的介紹僅供參考。但是我堅持介紹多種系統安裝、使用方法的目的並不僅於此,而是希望你跟Python的選擇一樣,從一開始就持有跨平台的思想,不讓自己受限於一種操作系統。
雖然上一節已經說過了,本課程會以Python3作為我們的學習主體。但還是希望你能記住,在Linux / macOS系統中,Python2已經內置,直接在命令行使用就有了:
$ python
Python 2.7.15 (default, Jun 18 2018, 22:14:28)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
(上面第一行的$符號,是Linux系統的命令提示符,是系統自動給出的,不需要你輸入。)
所說的“命令行”,是相對於“圖形界面”所說的。平常我們用來操作的界面,比如下圖所示意的網頁瀏覽器,這都是“圖形界面”,我們已經熟悉了這一切。相比較上面這幅由大量文字組成的“黑盒子”,圖形界面肯定要更賞心悅目。但作為進入編程世界的第一個關口,逐漸熟悉由大量文字來互相傳遞信息的“命令行”界面,可能會你是碰到的第一個障礙。
在Linux安裝Python3
Linux有很多個發行版本,以Ubuntu為例,安裝Python3只需要一條命令:
sudo apt install python3
之后還需要安裝python3的包管理模塊(包管理后面會詳細講述):
sudo apt install python3-pip
安裝完成后,前面說過了,系統原有已經內置了python2系統,使用“python”命令啟動。而新安裝的python3將是使用“python3”來啟動,兩者互相獨立,互不干擾。附加的包管理工具啟動則是“pip3”。后面我們再說如何用python3的包管理工具安裝擴展的軟件包(也就是擴展庫)。
不同的Linux版本,安裝Python3的方法都是不同的,這種現象也被稱為“方言化”Linux。對於初學者來講,建議你使用Ubuntu就夠了。或者,查查相關資料,以及必要的時候到互聯網上搜一搜解決方案。
好在Python在慢慢的改變這種“方言化”,比如同樣的Python3程序,在各個操作系統運行的都很好,並且結果一致性很高。
在macOS安裝Python3
macOS系統安裝Python3分兩步,第一步是先安裝macOS的免費軟件管理工具Homebrew,網站地址:https://brew.sh,請參考下面的截圖,紅框的部分,拷貝安裝命令到macOS命令行來執行,會自動安裝完成macOS的免費軟件管理工具。
macOS系統的“命令行”可以在系統的程序啟動板打開,圖標如下圖所示的樣子:
有了Homebrew工具,第二步正式安裝Python3就簡單了,只需要執行一條命令就同時安裝了Python3及其軟件包管理工具pip3:
brew install python3
python3和pip3的執行方法,跟Linux是相同的。事實上同樣作為類似Unix的系統,macOS跟Linux在很多方面互相都很像。
在Windows安裝Python3
在Windows安裝Python3的確是最麻煩,所以我留在最后說。不過好在全部可以使用圖形界面,作為尚未接受冷酷的“命令行”環境的你來說,這是個寶貴的過渡期。當然也許間接的會讓你體會,除了玩游戲,很多時候圖形界面的操作並不一定簡單。
首先要確認Windows的版本和類型。使用鼠標右鍵點擊“我的電腦”(在Windows中,我的電腦被改為了“此電腦”),隨后在彈出的菜單中點擊“屬性”。如截圖中所示,請確認你的Windows版本在Win7以上,操作系統的位長只有兩種可能,32位或者64位,對應需要下載不同版本的Python3安裝包。
Python官網上,Windows版本軟件的下載鏈接在這里:https://www.python.org/downloads/windows/,下載的時候通常不要下載最新版本的安裝包,因為會有不穩定的情況存在。最重要的,很多第三方擴展包還來不及升級適應新版本的Python系統,從而可能會讓某些學習無法進行。
在下載包中,Windows x86是32位系統使用的安裝包,Windows x86-64則是64位系統使用的安裝包,請對應上面查詢的自己電腦的類型來下載。
安裝包也分為三種情況,web-based installer是指很小的一個下載包,但是在每次安裝過程中,會從網上下載真正的Python3軟件來安裝。速度不一定快。executable installer是正式的獨立安裝包,我推薦你下載這一個。zip file是一個壓縮包,下載后還要解壓再安裝,對電腦不足夠熟悉不建議你選擇這個。
運行安裝包之后,大多數用戶勾選上“Add Python3.6 to PATH”,隨后選擇Install Now隨后全部使用默認安裝就好,大多的應用都是足夠的。
因為我們的編程學習會涉比較廣的方面,不像很多用戶只進行某一確定領域的工作,所以建議你使用Customize Installation(定制安裝)並且勾選上所有可能的選項來完成安裝。直觀起見,你可以參考下面截圖中的注釋:
上面的截圖中,沒有選擇項的中間過程已經略去,最后這一張是安裝成功的情況。比較重要的是,如果出現截圖中下面部分虛線中的提示,請用鼠標點擊,並輸入管理員密碼確認操作,這是關閉Windows所特有的路徑長度的限制,這個限制將導致Python的某些功能不能正常工作。
Python3擴展包的安裝
我們一再提到,Python的強大,很大程度上來自於多方貢獻的擴展包,這些擴展包的數量如此巨大,以至於需要一個專門的軟件來管理,進行安裝、升級、刪除等常見操作。這個工具就是“pip”,前面也提到過了。當然還有很多開發團隊出品的Python擴展包管理工具,但從當前看都不如pip用戶廣泛,所以在這里我們只介紹pip。
比如我們前面兩個演示的游戲,就用到了“pygame”這個擴展包。Linux/macOS系統在命令行使用pip安裝pygame的方法如下:
sudo pip3 install pygame
Windows系統沒有權限提升命令,所以首先要使用“管理員模式”執行命令行工具:
流程為:用鼠標點擊開始菜單->Windows系統->命令提示符,這時候使用鼠標右鍵點擊“命令提示符”->點擊更多->點擊以管理員身份運行,之后系統還會出現一個警告窗口,點擊確認執行。
之后出現的命令提示符窗口,默認的路徑是:C:Windows\System32>而不是平常出現的用戶當前目錄。這表示這個命令提示符窗口運行在管理員狀態。接下來安裝pygame擴展包的方法跟Linux/macOS是類似的:pip3 install pygame
,因為Windows沒有預先存在的Python2,所以實際上直接執行pip也是一樣的。
運行已有的Python3程序
通常Linux/macOS用集成環境並不讓人感覺方便,所以大多是直接在命令行執行Python程序。至於為什么會這樣,如果你也使用Linux,用的多你就理解了。
用前面演示中的例子來說,執行已有程序一般是這樣的(下面演示了兩個程序的執行):
#運行bunny游戲
cd bunny
python3 bunny.py
#運行pylletTown游戲
cd pylletTown
python3 pylletTown.py
這里面用到了兩個操作,“cd”是把當前的命令行工作目錄變更到指定的目錄,隨后“python3”是執行python3軟件,后面的“bunny.py”是由python3執行的,由python3語言所編寫的游戲名稱。
在Windows系統執行Python3同樣可以使用命令行的方式,方法跟上面幾乎相同。當然很多初學者還是願意使用“圖形界面”方式來執行。

在開始菜單尋找Python IDLE程序執行,這是Python官方提供的一個簡易集成開發學習環境。在IDLE中,File菜單選擇Open打開,可以通過圖形化的方式,找到我們程序所在的文件夾,並選中要執行的程序:

打開后,能看到程序的源代碼,這時候從Run菜單選擇Run Module或者直接F5,就可以執行這個程序。

程序運行起來之后的樣子,在前面的圖片中已經有,這里就不再重復。
在上面的圖片中,左上部分,Python 3.6.5 Shell的窗口,是Python的交互式環境,提供每輸入一條命令,Python直接執行,並當場返回結果的效果。右下部分的窗口,看起來很像我們常用的Word文檔編輯器,這個是Python程序編寫所使用的空間,通常要編寫完成一個完整的程序,才能正式的開始執行。
自己動手,試試海龜繪圖
我們在后面的課程中會詳細講到海龜繪圖。這里只是動手操作來試一試,讓你對Python有個更直觀的感受,不用去理會繪圖程序中那么多陌生的單詞究竟是什么意思。
首先還是在IDLE環境中,從File菜單選擇Open打開已有的程序文件,turtle1.py源代碼已經包含在課程的資源包中了。
相信前面的操作你已經注意到了,在不同的操作系統中執行同樣的操作,界面顯示出來可能並不一樣,這些也不用糾結,關鍵是理解這些操作的功能是什么,界面只是幫助功能的實現。相信我,只要真的是想學編程,早晚有一天,你會更喜歡命令行那個丑陋的“黑盒子”。
打開的程序會像下面的圖的樣子:
接着按F5來執行這個程序(從菜單選擇Run Module是一樣的):
看,這就是小海龜繪制的圖形。繼續試一試,我們來簡單的改個參數:
#海龜繪圖演示
#引入海龜繪圖庫
import turtle
#建立一支筆(一只海龜)
t = turtle.Pen()
for x in range(100):
#向前走x步
t.forward(x)
#左轉90度
t.left(90)
#畫完,收工
turtle.done()
上面的程序中,第12行是控制小海龜每次轉向的角度,我們把這個參數90,修改成70。修改完成后,要在IDLE的菜單中選擇File->Save存盤,然后按F5再執行一次看看效果:
本講小結
本講主要講述四方面的內容,
-
Python語法簡單、方便易用、語言規范、功能強大,學習Python不僅適合立志從事信息技術專業工作的同學,在日常的學習、生活中也能起到很大的作用。
-
Python的多種特性讓Python有很廣泛的應用場景,在很多領域中都有Python的身影。
-
Python3是Python2的升級版本,是Python語言的發展方向,我們會以Python3作為學習的主要路徑。
-
Python的安裝很簡單,每位同學一定要在自己的電腦上安裝好Python的學習環境,編程是需要不斷的動手練習才能掌握一門技術。
為了讓大家能有更全面的體驗,而且畢竟初次涉及編程方面的知識。本講的內容涉及到了很多新的概念,並不容易馬上學會或者迅速理解,我們在后續的課程中還會更詳細的講到,並且會不斷的重復加強。所以如果還有很多疑問,不用着急,從第二講開始,才是真正的編程知識開始。
版權聲明
本講義文稿為作者及寓樂世界教育科技公司共同所有。涉及范圍包含且不限於文字、圖片、程序源碼,所有內容禁止未經書面授權的轉載和使用。