計算機等級考試二級《Python語言程序設計》培訓教學課件_第1頁
計算機等級考試二級《Python語言程序設計》培訓教學課件_第2頁
計算機等級考試二級《Python語言程序設計》培訓教學課件_第3頁
計算機等級考試二級《Python語言程序設計》培訓教學課件_第4頁
計算機等級考試二級《Python語言程序設計》培訓教學課件_第5頁
已閱讀5頁,還剩397頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

全國計算機等級考試二級教程

Python語言程序設計

(2018年版)【第1章】

程序設計基本方法Python語言的特點考綱考點程序設計語言程序設計語言是計算機能夠理解和識別用戶操作意圖的一種交互體系,它按照特定規(guī)則組織計算機指令,使計算機能夠自動進行各種運算處理。按照程序設計語言規(guī)則組織起來的一組計算機指令稱為計算機程序。程序設計語言概述高級編程語言根據(jù)執(zhí)行機制不同可分成兩類:靜態(tài)語言和腳本語言,靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行。例如,C語言是靜態(tài)語言,Python語言是腳本語言。采用編譯執(zhí)行的編程語言是靜態(tài)語言,如C語言、Java語言;采用解釋執(zhí)行的編程語言是腳本語言,如JavaScript語言、PHP語言程序設計語言概述編譯是將源代碼轉換成目標代碼的過程,通常,源代碼是高級語言代碼,目標代碼是機器語言代碼,執(zhí)行編譯的計算機程序稱為編譯器編譯和解釋解釋是將源代碼逐條轉換成目標代碼同時逐條運行目標代碼的過程。執(zhí)行解釋的計算機程序稱為解釋器。編譯和解釋編譯是一次性地翻譯,一旦程序被編譯,不再需要編譯程序或者源代碼。對于相同源代碼,編譯所產生的目標代碼執(zhí)行速度更快。目標代碼不需要編譯器就可以運行,在同類型操作系統(tǒng)上使用靈活。編譯和解釋解釋則在每次程序運行時都需要解釋器和源代碼。解釋執(zhí)行需要保留源代碼,程序糾錯和維護十分方便。只要存在解釋器,源代碼可以在任何操作系統(tǒng)上運行,可移植性好編譯和解釋計算機編程計算思維是區(qū)別于以數(shù)學為代表的邏輯思維和以物理為代表的實證思維的第三種思維模式。編程是一個求解問題的過程首先需要分析問題,抽象內容之間的交互關系設計利用計算機求解問題的確定性方法,進而通過編寫和調試代碼解決問題這是從抽象問題到解決問題的完整過程。Python語言概述Python語言的誕生GuidovanRossumPython語言創(chuàng)立者2002年,Python2.x2008年,Python3.x使用Python語言編寫的Hello程序只有一行代碼

print(“HelloWorld”)第一行的“>>>”是Python語言運行環(huán)境的提示符第二行是Python語句的執(zhí)行結果Python最小程序>>>print("HelloWorld")HelloWorldPython語言支持中文等非西文字符的直接使用,帶中文的Python最小程序在運行環(huán)境中的執(zhí)行效果如下:Python最小程序>>>print("世界,你好")世界,你好Python開發(fā)環(huán)境配置安裝到Python主頁下載并安裝Python基本開發(fā)和運行環(huán)境,網址:/downloads/https://python123.io/download

根據(jù)操作系統(tǒng)不同選擇不同版本下載相應的Python3.0系列版本程序安裝安裝Python解釋器Python解釋器有兩個重要的工具:IDLE:Python集成開發(fā)環(huán)境,用來編寫和調試Python代碼;Pip:Python第三方庫安裝工具,用來在當前計算機上安裝第三方庫通過IDLE啟動交互式Python運行環(huán)境輸出數(shù)據(jù)打開IDLE,點擊Ctrl+N打開一個新窗口,輸入語句并保存,使用快鍵建F5即可運行該程序Python程序的編輯方式Python程序有兩種運行方式:交互式和文件式。交互式利用Python解釋器即時響應用戶輸入的代碼,給出輸出結果。文件式將Python程序寫在一個或多個文件中,啟動Python解釋器批量執(zhí)行文件中的代碼。交互式一般用于調試少量代碼,文件式是最常用的編程方式。Python程序的運行方式啟動IDLE所顯示的環(huán)境是Python交互式運行環(huán)境,在>>>提示符后輸入代碼即可運行,輸入exit()或者quit()可以退出,沒有>>>的行表示運行結果。Python程序的運行方式>>>a=100>>>a=a+1>>>print(a)101

文件式程序在IDLE的編輯窗口中編寫,可以使用快捷鍵“F5”或在菜單中選擇“Run–RunModule”選項運行Python代碼Python程序的運行方式

123456#判斷輸入整數(shù)是否在[0,100]之間num=eval(input("請輸入一個整數(shù):"))ifnum>100ornum<0:#判斷[0,100]print("輸入整數(shù)小于0或大于100")else:print("輸入整數(shù)在0到100之間(含)")

此外,也可以通過Windows的命令行(cmd.exe)運行Python程序,對于文件名稱為code.py的文件,可以使用命令行pythoncode.py運行這個程序。在圖形化操作系統(tǒng)中,可以通過鼠標點擊直接運行Python程序。沒有安裝Python解釋器的操作系統(tǒng)無法直接運行Python程序,需要將Python源代碼打包變成可執(zhí)行文件,這個過程叫做“程序發(fā)布”。Python程序的運行方式程序的基本編寫方法輸入數(shù)據(jù)處理數(shù)據(jù)輸出數(shù)據(jù)IPO程序編寫方法輸入數(shù)據(jù)輸入(Input)是一個程序的開始。程序要處理的數(shù)據(jù)有多種來源,形成了多種輸入方式,包括:文件輸入、網絡輸入、控制臺輸入、交互界面輸出、隨機數(shù)據(jù)輸入、內部參數(shù)輸入等。IPO程序編寫方法處理數(shù)據(jù)處理(Process)是程序對輸入數(shù)據(jù)進行計算產生輸出結果的過程。計算問題的處理方法統(tǒng)稱為“算法”,它是程序最重要的組成部分??梢哉f,算法是一個程序的靈魂。IPO程序編寫方法輸出數(shù)據(jù)輸出(Output)是程序展示運算成果的方式。程序的輸出方式包括:控制臺輸出、圖形輸出、文件輸出、網絡輸出、操作系統(tǒng)內部變量輸出等。IPO程序編寫方法Python程序的特點Python具有通用性。 Python語言可以用于幾乎任何與程序設計相關應用的開發(fā),不僅適合訓練變成思維,更適合諸如數(shù)據(jù)分析、機器學習、人工智能、Web開發(fā)等具體的技術領域。Python程序的特點Python語法簡潔。

Python語法主要用來精確表達問題邏輯,更接近自然語言,只有33個保留字,十分簡潔。Python程序的特點Python生態(tài)高產。 Python解釋器提供了幾百個內置類和函數(shù)庫,此外,世界各地程序員通過開源社區(qū)貢獻了十幾萬個第三方函數(shù)庫,幾乎覆蓋了計算機技術的各個領域,編寫Python程序可以大量利用已有內置或第三方代碼,具備良好的編程生態(tài)。Python程序的特點除了Python語法的三個重要特點外,Python程序還有一些具體特點。平臺無關強制可讀支持中文Python程序的特點平臺無關 Python程序可以在任何安裝解釋器的計算機環(huán)境中執(zhí)行,因此,可以不經修改地實現(xiàn)跨操作系統(tǒng)運行。Python程序的特點強制可讀 Python通過強制縮進(類似文章段落的首行空格)來體現(xiàn)語句間的邏輯關系,顯著提高了程序的可讀性,進而增強了Python程序的可維護性。Python程序的特點支持中文 Python3.x版本采用Unicode編碼表達所有字符信息。Unicode是一種國際通用表達字符的編碼體系,這使得Python程序可以直接支持英文、中文、法文、德文等各類自然語言字符,在處理中文時更加靈活且高效。Python程序的特點實例解析:Python小程序斐波那契數(shù)列的計算F(0)=0,F(xiàn)(1)=1,F(xiàn)(n)=F(n-2)+F(n-1),其中n>=2圓面積的計算根據(jù)圓的半徑計算圓的面積。繪制五角紅星用Python程序繪制一個五角紅星圖形。程序運行計時對一個循環(huán)計數(shù)一千萬次的程序記錄并輸出其運行時間。繪制七彩圓圈繪制7個不同顏色的圓圈,組成七彩圓圈圖案。本章小結

本章主要針對初學程序設計的讀者,具體講解了程序設計語言的基本概念,理解程序開發(fā)的IPO編寫方法,配置Python開發(fā)環(huán)境的具體步驟,以及Python語言和Python程序特點等內容,進一步給出了5個簡單Python實例代碼,幫助讀者測試Python開發(fā)環(huán)境,對該語言有一個直觀認識。 Python大戲即將上演,一起來追劇吧。全國計算機等級考試二級教程

Python語言程序設計

(2018年版)【第2章】

Python語言基本語法元素程序的基本語法元素:程序的格式框架、縮進、注釋、變量、命名、保留字、數(shù)據(jù)類型、賦值語句、引用基本輸入輸出函數(shù):input()、eval()、print()源程序的書寫風格考綱考點知識導圖程序的格式框架縮進Python語言采用嚴格的“縮進”來表明程序的格式框架??s進指每一行代碼開始前的空白區(qū)域,用來表示代碼之間的包含和層次關系。

1個縮進=4個空格縮進是Python語言中表明程序框架的唯一手段縮進當表達分支、循環(huán)、函數(shù)、類等程序含義時,在if、while、for、def、class等保留字所在完整語句后通過英文冒號(:)結尾并在之后進行縮進,表明后續(xù)代碼與緊鄰無縮進語句的所屬關系。程序的格式框架單層縮進

多層縮進注釋注釋是代碼中的輔助性文字,會被編譯或解釋器略去,不被計算機執(zhí)行,一般用于程序員對代碼的說明。Python語言采用#表示一行注釋的開始,多行注釋需要在每行開始都使用#。

123#注釋的第一行#注釋的第二行#注釋的第三行

注釋Python程序中的非注釋語句將按順序執(zhí)行,注釋語句將被解釋器過濾掉,不被執(zhí)行。注釋一般用于在代碼中標明作者和版權信息,或解釋代碼原理及用途,或通過注釋單行代碼輔助程序調試。

1234#作者名稱:著名的非著名相聲演員#編寫時間:2018年1月1日#版權聲明:按照CCBY-NC-SA方式開源print("期待世界和平"))#2018年的良好祝愿

語法元素的名稱變量變量是保存和表示數(shù)據(jù)值的一種語法元素,在程序中十分常見。顧名思義,變量的值是可以改變的,能夠通過賦值(使用等號=表達)方式被修改,例如:

>>>a=99>>>a=a+1>>>print(a)100

命名Python語言允許采用大寫字母、小寫字母、數(shù)字、下劃線(_)和漢字等字符及其組合給變量命名,但名字的首字符不能是數(shù)字,中間不能出現(xiàn)空格,長度沒有限制注意:標識符對大小寫敏感,python和Python是兩個不同的名字保留字保留字,也稱為關鍵字,指被編程語言內部定義并保留使用的標識符。程序員編寫程序不能定義與保留字相同的標識符。每種程序設計語言都有一套保留字,保留字一般用來構成程序整體框架、表達關鍵值和具有結構性的復雜語義等。掌握一門編程語言首先要熟記其所對應的保留字。保留字Python3.x保留字列表(33個)andelifimportraiseaselseinreturnassertexceptistrybreakfinallylambdawhileclassfornonlocalwithcontinuefromnotyielddefglobalorTruedelifpassFalseNone數(shù)據(jù)類型數(shù)據(jù)類型概述Python語言支持多種數(shù)據(jù)類型,最簡單的包括數(shù)字類型、字符串類型,略微復雜的包括元組類型、集合類型、列表類型、字典類型等。數(shù)字類型表示數(shù)字或數(shù)值的數(shù)據(jù)類型稱為數(shù)字類型,Python語言提供3種數(shù)字類型:整數(shù)、浮點數(shù)和復數(shù),分別對應數(shù)學中的整數(shù)、實數(shù)和復數(shù)。數(shù)字類型一個整數(shù)值可以表示為十進制、十六進制、八進制和二進制等不同進制形式。十進制: 1010十六進制: 0x3F2八進制: 0o1762二進制: 0b001111110010數(shù)字類型一個浮點數(shù)可以表示為帶有小數(shù)點的一般形式,也可以采用科學計數(shù)法表示。例如:浮點數(shù)123.456,兩種表示方式如下:

一般形式: 123.456

科學計數(shù)法: 1.23456e2復數(shù)類型與數(shù)學中的復數(shù)相一致,采用a+bj的形式表示,存在實部和虛部。字符串Python語言中,字符串是用兩個雙引號“”或者單引號‘’括起來的一個或多個字符。Python字符串的兩種序號體系字符串如果字符串長度為L,正向遞增需要以最左側字符序號為0,向右依次遞增,最右側字符序號為L-1;反向遞減序號以最右側字符序號為-1,向左依次遞減,最左側字符序號為-L。>>>"對酒當歌,人生幾何?"[1]酒>>>"對酒當歌,人生幾何?"[-1]?字符串可以采用[N:M]格式獲取字符串的子串,這個操作被形象地稱為切片。[N:M]獲取字符串中從N到M(但不包含M)間連續(xù)的子字符串。>>>"譬如朝露,去日苦多。"[2:4]朝露>>>"譬如朝露,去日苦多。"[5:-2]去日苦字符串可以通過Python默認提供的len()函數(shù)獲取字符串的長度,一個中文字符和西文字符的長度都記為1。>>>len("譬如朝露,去日苦多。")10>>>len("HelloWorld")11程序的語句元素表達式

產生或計算新數(shù)據(jù)值的代碼片段稱為表達式。表達式類似數(shù)學中的計算公式,以表達單一功能為目的,運算后產生運算結果,運算結果的類型由操作符或運算符決定。表達式一般由數(shù)據(jù)和操作符等構成,這是構成Python語句的重要部分。賦值語句

Python語言中,=表示“賦值”,即將等號右側的值計算后將結果值賦給左側變量,包含等號(=)的語句稱為“賦值語句”<變量>=<表達式>同步賦值語句:同時給多個變量賦值

<變量1>,…,<變量N>=<表達式1>,…,<表達式N>賦值語句例:將變量x和y交換采用單個賦值,需要3行語句:即通過一個臨時變量t緩存x的原始值,然后將y值賦給x,再將x的原始值通過t賦值給y。采用同步賦值語句,僅需要一行代碼:引用Python程序會經常使用當前程序之外已有的功能代碼,這個過程叫“引用”。Python語言使用import保留字引用當前程序以外的功能庫,使用方式如下: import<功能庫名稱>引用引用功能庫之后,采用<功能庫名稱>.<函數(shù)名稱>()方式調用具體功能。其他語句除了賦值語句外,Python程序還包括一些其他的語句類型,例如,分支語句和循環(huán)語句等。更多的分支和循環(huán)內容將在第4章介紹。這里僅簡要介紹這兩類語句的基本使用。分支語句分支語句是控制程序運行的一種語句,它的作用是根據(jù)判斷條件選擇程序執(zhí)行路徑。分支語句包括:單分支、二分支和多分支。單分支語句是最簡單的分支語句,使用方式如下:if<條件>:<語句塊>

1234#判斷輸入整數(shù)是否在[0,100]之間num=eval(input("請輸入一個整數(shù):"))if0<=num<=100:#判斷[0,100]print("輸入整數(shù)在0到100之間(含)")

循環(huán)語句循環(huán)語句是控制程序運行的一類重要語句,與分支語句控制程序執(zhí)行類似,它的作用是根據(jù)判斷條件確定一段程序是否再次執(zhí)行一次或者多次。循環(huán)語句包括遍歷循環(huán)和條件循環(huán)。while(<條件>): <語句塊1><語句塊2>

12345#輸出10到100步長為3的全部整數(shù)n=10whilen<100:print(n,end="")n=n+3

基本輸入輸出函數(shù)input()函數(shù)獲得用戶輸入之前,input()函數(shù)可以包含一些提示性文字

<變量>=input(<提示性文字>)>>>a=input("請輸入一個小數(shù):")請輸入一個小數(shù):123.456>>>print(a)#此時a是字符串"123.456"123.456

eval()函數(shù)eval(<字符串>)函數(shù)是Python語言中一個十分重要的函數(shù),它能夠以Python表達式的方式解析并執(zhí)行字符串,將返回結果輸出>>>a=eval("1.2+3.4")>>>print(a)4.6

eval()函數(shù)eval()函數(shù)經常和input()函數(shù)一起使用,用來獲取用戶輸入的數(shù)字,使用方式如下:<變量>=eval(input(<提示性文字>))>>>value=eval(input("請輸入要計算的數(shù)值:"))請輸入要計算的數(shù)值:1024.256>>>print(value*2)2047.512

print()函數(shù)

print()函數(shù)用于輸出運算結果,根據(jù)輸出內容的不同,有三種用法。第一種,僅用于輸出字符串,使用方式如下:print(<待輸出字符串>)>>>print("世界和平")世界和平

print()函數(shù)第二種,僅用于輸出一個或多個變量,使用方式如下:print(<變量1>,<變量2>,…,<變量n>)>>>value=123.456>>>print(value,value,value)123.456123.456123.456

print()函數(shù)第三種,用于混合輸出字符串與變量值,使用方式如下:print(<輸出字符串模板>.format(<變量1>,<變量2>,…,<變量n>))>>>a,b=123.456,1024>>>print("數(shù)字{}和數(shù)字{}的乘積是{}".format(a,b,a*b))數(shù)字123.456和數(shù)字1024的乘積是126417.944

print()函數(shù)對print()函數(shù)的end參數(shù)進行賦值print(<待輸出內容>,end="<增加的輸出結尾>")>>>a=24>>>print(a,end=".")24.>>>print(a,end="%")24%

實例解析:倒背如流實例解析計算機程序是機械記憶的高手,下面將編寫一段程序,獲得用戶輸入,采用倒敘方式將輸入內容輸出出來。該程序的輸入和輸出實例如下:輸入:Tobeornottobe,that’saquestion.——莎士比亞輸出:亞比士莎——.noitseuqas’taht,ebottonroeboT實例解析以下給出了一種實現(xiàn),采用正向遞增序號,利用len()函數(shù)將i設為最后一個字符的索引序號,然后逐次輸出至第一個字符。實例解析給出另一種實現(xiàn),采用反向遞減序號,將i首先設置為-1,直接索引最后一個字符,然后逐次輸出至第一個字符。本章小結

本章具體講解了初學Python需要知道的一些基本概念,初步介紹了Python基本語法元素,講解了程序的格式框架、語法元素的名稱、數(shù)據(jù)類型、程序的語句元素、基本輸入輸出函數(shù)等內容,進一步給出了Python源程序書寫風格的思考和建議,幫助讀者初步建立編寫優(yōu)美程序的基本觀念。最后,講解了“倒背如流”實例,通過完成將一段輸入文本倒序輸出的功能理解并實踐Python基本語法元素。Python程序說它可以倒背如流,人類的你要不要默寫一下保留字來試試?全國計算機等級考試二級教程

Python語言程序設計

(2018年版)【第3章】

程序的控制結構程序的三種控制結構程序的分支結構:單分支結構、二分支結構、多分支結構程序的循環(huán)結構:遍歷循環(huán)、無限循環(huán)、break和continue循環(huán)控制程序的異常處理:try-except考綱考點知識導圖程序的基本結構程序的流程圖程序流程圖用一系列圖形、流程線和文字說明描述程序的基本操作和控制流程,它是程序分析和過程描述的最基本方式。流程圖的基本元素包括7種程序的流程圖起止框:表示程序邏輯的開始或結束;判斷框:表示一個判斷條件,并根據(jù)判斷結果選擇不同的執(zhí)行路徑;處理框:表示一組處理過程,對應于順序執(zhí)行的程序邏輯;輸入輸出框:表示程序中的數(shù)據(jù)輸入或結果輸出;注釋框:表示程序的注釋;流向線:表示程序的控制流,以帶箭頭直線或曲線表達程序的執(zhí)行路徑;連接點:表示多個流程圖的連接方式,常用于將多個較小流程圖組織成較大流程圖。程序的流程圖程序流程圖示例:由連接點A連接的一個程序程序的基本結構程序由三種基本結構組成:順序結構、分支結構和循環(huán)結構。任何程序都由這三種基本結構組合而成這些基本結構都有一個入口和一個出口。任何程序都由這三種基本結構組合而成程序的基本結構順序結構是程序按照線性順序依次執(zhí)行的一種運行方式,其中語句塊1S1和語句塊S2表示一個或一組順序執(zhí)行的語句程序的基本結構分支結構是程序根據(jù)條件判斷結果而選擇不同向前執(zhí)行路徑的一種運行方式,基礎的分支結構是二分支結構。由二分支結構會組合形成多分支結構程序的基本結構循環(huán)結構是程序根據(jù)條件判斷結果向后反復執(zhí)行的一種運行方式,根據(jù)循環(huán)體觸發(fā)條件不同,包括條件循環(huán)和遍歷循環(huán)結構程序的基本結構在三種基本控制邏輯基礎上,Python語言進行了必要且適當?shù)臄U展。在分支結構原理的基礎上,Python增加了異常處理,使用try-except保留字異常處理以程序異常為判斷條件,根據(jù)一段代碼執(zhí)行的正確性進行程序邏輯選擇。異常處理是分支結構的一種擴展。程序的基本結構在循環(huán)結構原理的基礎上,Python提供兩個循環(huán)控制符break和continue,對循環(huán)的執(zhí)行過程進行控制。break控制符用來結束當前循環(huán),continue控制符用來結束當前循環(huán)的當次循環(huán)過程,程序的分支結構單分支結構:if語句Python的單分支結構使用if保留字對條件進行判斷,使用方式如下

if<條件>:

語句塊其中,if、:和<語句塊>前的縮進都是語法的一部分。<語句塊>是if條件滿足后執(zhí)行的一個或多個語句序列,縮進表達<語句塊>與if的包含關系。<條件>是一個產生True或False結果的語句,當結果為True時,執(zhí)行<語句塊>,否則跳過<語句塊>。單分支結構:if語句<條件>是一個或多個條件,多個條件間采用and或or進行邏輯組合。and表示多個條件“與”的關系,or表示多個條件“或”的關系

12345#判斷用戶輸入數(shù)字的奇偶性

s=eval(input("請輸出一個整數(shù):"))ifs%2==0:print("這是個偶數(shù)")print("輸入數(shù)字是:",s)

12345#判斷用戶輸入數(shù)字的特定

s=eval(input("請輸出一個整數(shù):"))ifs%3==0ands%5==0:print("這個數(shù)字既能被3整除,又能被5整除")print("輸入數(shù)字是:",s)

二分支結構:if-else語句Python的二分支結構使用if-else保留字對條件進行判斷,語法格式如下:

if<條件>: <語句塊1> else: <語句塊2>其中,if、:和語句塊前的縮進都是語法的一部分。二分支結構:if-else語句

12345#判斷用戶輸入數(shù)字的某個屬性s=eval(input("請輸出一個整數(shù):"))ifs%3==0ands%5==0:print("這個數(shù)字能夠同時被3和5整除")else:print("這個數(shù)字不能夠同時被3和5整除")

<語句塊1>在if中<條件>滿足即為True時執(zhí)行,<語句塊2>在if中<條件>不滿足即為False時執(zhí)行。簡單說,二分支結構根據(jù)條件的True或False結果產生兩條路徑。二分支結構:if-else語句二分支結構還有一種更簡潔的表達方式,適合<語句塊1>和<語句塊2>都只包含簡單表達式的情況,語法格式如下:<表達式1>if<條件>else<表達式2>

1234#判斷用戶輸入數(shù)字的某個屬性s=eval(input("請輸出一個整數(shù):"))token=""ifs%3==0ands%5==0else"不"print("這個數(shù)字{}能夠同時被3和5整除".format(token))

多分支結構:if-elif-else語句Python的if-elif-else描述多分支結構,語句格式如下:if<條件1>:<語句塊1>elif<條件2>:<語句塊2>...else:<語句塊N>多分支結構:if-elif-else語句多分支結構通常用于判斷同一個條件或一類條件的多個執(zhí)行路徑。要注意,Python會按照多分支結構的代碼順序依次評估判斷條件,尋找并執(zhí)行第一個結果為True條件對應的語句塊,當前語句塊執(zhí)行后跳過整個if-elif-else結構。利用多分支結構編寫代碼時要注意多個邏輯條件的先后關系。多分支結構:if-elif-else語句獲取用戶輸入的一個百分制成績,轉換成五分制,給出對應的A、B、C、D、E等級。

12345678910111213#將百分制成績轉換為五分制成績score=eval(input("請輸出一個百分制成績:"))ifscore>=60.0: grade="D"elifscore>=70.0: grade="C"elifscore>=80.0: grade="B"elifscore>=90.0: grade="A"else:grade="E"print("對應的五分制成績是:{}".format(grade))

>>>

請輸出一個百分制成績:80對應的五分制成績是:D多分支結構:if-elif-else語句顯然,百分制80分不應該是等級D,上述代碼運行正確但邏輯存在錯誤,在于弄錯了多個邏輯條件的先后關系,修改后代碼如下。

12345678910111213#將百分制成績轉換為五分制成績score=eval(input("請輸出一個百分制成績:"))ifscore>=90.0: grade="A"elifscore>=80.0: grade="B"elifscore>=70.0: grade="C"elifscore>=60.0: grade="D"else:grade="E"print("對應的五分制成績是:{}".format(grade))

判斷條件及組合分支結構中的判斷條件可以使用任何能夠產生True或False的語句或函數(shù)。形成判斷條件最常見的方式是采用關系操作符判斷條件及組合Python語言中,任何非零的數(shù)值、非空的數(shù)據(jù)類型都等價于True,0或空類型等價于False,可以直接用作判斷條件。>>>0==FalseTrue>>>""==TrueFalse>>>4<5True>>>"Python">"python"False判斷條件及組合Python語言使用保留字not、and和or對條件進行邏輯運算或組著。保留字not表示單個條件的“否”關系,and表示多個條件之間的“與”關系,保留字or表示多個條件之間的“或”關系。>>>notTrueFalse>>>a=80>>>(a>100)or(a>50anda<90)True程序的循環(huán)結構程序的循環(huán)結構Python語言的循環(huán)結構包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán)使用保留字for依次提取遍歷結構各元素進行處理;無限循環(huán)使用保留字while根據(jù)判斷條件執(zhí)行程序。遍歷循環(huán):for遍歷循環(huán)可以理解為從遍歷結構中逐一提取元素,放在循環(huán)變量中,對于每個所提取的元素執(zhí)行一次語句塊。for語句的循環(huán)執(zhí)行次數(shù)是根據(jù)遍歷結構中元素個數(shù)確定的。

for<循環(huán)變量>in<遍歷結構>: <語句塊>遍歷結構可以是字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型等。遍歷循環(huán):for對于字符串,可以逐一遍歷字符串的每個字符,基本使用方式如下: for<循環(huán)變量>in<字符串變量>: <語句塊>>>>forcin"Python":print(c)Python遍歷循環(huán):for使用range()函數(shù),可以指定語句塊的循環(huán)次數(shù),基本使用方式如下: for<循環(huán)變量>inrange(<循環(huán)次數(shù)>): <語句塊>>>>foriinrange(5):print(i)01234遍歷循環(huán):for遍歷循環(huán)還有一種擴展模式,使用方法如下:

for<循環(huán)變量>in<遍歷結構>: <語句塊1> else: <語句塊2>當for循環(huán)正常執(zhí)行之后,程序會繼續(xù)執(zhí)行else語句中內容。else語句只在循環(huán)正常執(zhí)行之后才執(zhí)行并結束,因此,可以在<語句塊2>中放置判斷循環(huán)執(zhí)行情況的語句。遍歷循環(huán):for

12345forsin"PY":print("循環(huán)執(zhí)行中:"+s)else:s="循環(huán)正常結束"print(s)

>>>

循環(huán)執(zhí)行中:P循環(huán)執(zhí)行中:Y循環(huán)正常結束無限循環(huán):whilePython通過保留字while實現(xiàn)無限循環(huán)while<條件>:<語句塊>當程序執(zhí)行到while語句時,判斷條件如果為True,執(zhí)行循環(huán)體語句,語句結束后返回再次判斷while語句的條件;當條件為False時,循環(huán)終止,執(zhí)行與while同級別縮進的后續(xù)語句。無限循環(huán):while>>>n=0>>>whilen<10:print(n)n=n+30369無限循環(huán):while無限循環(huán)也有一種使用保留字else的擴展模式,使用方法如下: while<條件>: <語句塊1> else: <語句塊2>在這種擴展模式中,當while循環(huán)正常執(zhí)行之后,程序會繼續(xù)執(zhí)行else語句中內容。else語句只在循環(huán)正常執(zhí)行后才執(zhí)行,因此,可以在語句塊2中放置判斷循環(huán)執(zhí)行情況的語句。無限循環(huán):while

1234567s,idx="PY",0whileidx<len(s):print("循環(huán)執(zhí)行中:"+s[idx])idx+=1else:s="循環(huán)正常結束"print(s)

>>>

循環(huán)執(zhí)行中:P循環(huán)執(zhí)行中:Y循環(huán)正常結束循環(huán)控制:break和continue循環(huán)結構有兩個輔助循環(huán)控制的保留字:break和continue。break用來跳出最內層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后代碼繼續(xù)執(zhí)行。

123456whileTrue:s=input("請輸入一個名字(按Q退出):")ifs=="Q":breakprint("輸入的名字是:",s)print("程序退出")

>>>

請輸入一個名字(按Q退出):毛澤東輸入的名字是:毛澤東請輸入一個名字(按Q退出):鄧小平輸入的名字是:鄧小平請輸入一個名字(按Q退出):Q程序退出循環(huán)控制:break和continue如果有2層或多層循環(huán),break退出最內層循環(huán)。continue用來結束當前當次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但不跳出當前循環(huán)。

1234forsin"PYTHON":ifs=="Y"ors=="Y":continueprint(s,end="")

>>>

PTHONcontinue語句和break語句的區(qū)別是:continue語句只結束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結束循環(huán)的能力。程序的異常處理程序的異常處理Python程序一般對輸入有一定要求,但當實際輸入不滿足程序要求時,可能會產生程序的運行錯誤。>>>n=eval(input("請輸入一個數(shù)字:"))請輸入一個整數(shù):python

Traceback(mostrecentcalllast):File"<pyshell#11>",line1,in<module>n=eval(input("請輸入一個數(shù)字:"))File"<string>",line1,in<module>NameError:name'python'isnotdefined程序的異常處理由于使用了eval()函數(shù),如果用戶輸入不是一個數(shù)字則可能報錯。這類由于輸入與預期不匹配造成的錯誤有很多種可能,不能逐一列出可能性進行判斷。為了保證程序運行的穩(wěn)定性,這類運行錯誤應該被程序捕獲并合理控制。程序的異常處理Python語言使用保留字try和except進行異常處理,基本的語法格式如下:。 try: <語句塊1> except: <語句塊2>語句塊1是正常執(zhí)行的程序內容,當執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的語句塊2。程序的異常處理

12345try:n=eval(input("請輸入一個數(shù)字:"))print("輸入數(shù)字的3次方值為:",n**3)except:print("輸入錯誤,請輸入一個數(shù)字!")

>>>

請輸入一個數(shù)字:1010輸入數(shù)字的3次方值為:1030301000

>>>

請輸入一個數(shù)字:python輸入錯誤,請輸入一個數(shù)字!程序的異常處理>>>foriinrange(5):print(10/i,end="")Traceback(mostrecentcalllast):File"<pyshell#12>",line2,in<module>print(10/i,end="")ZeroDivisionError:divisionbyzero除了輸入之外,異常處理還可以處理程序執(zhí)行中的運行異常。

12345try:foriinrange(5):print(10/i,end="")except:print("某種原因,出錯了!")

>>>

某種原因,出錯了!實例解析:猜數(shù)字游戲實例解析:猜數(shù)字游戲編寫一個“猜數(shù)字游戲”的程序,在1到1000之間隨機產生一個數(shù),然后請用戶循環(huán)猜測這個數(shù)字,對于每個答案只回答“猜大了”或“猜小了”,直到猜測準確為止,輸出用戶的猜測次數(shù)。實例解析:猜數(shù)字游戲為了產生隨機數(shù),需要使用Python語言的隨機數(shù)標準庫random根據(jù)程序需求,需要考慮不斷地讓用戶循環(huán)輸入猜測值,并根據(jù)猜測值和目標值之間的比較決定程序邏輯。

12importrandomtarget=random.randint(1,1000)

實例解析:猜數(shù)字游戲

12345678910111213importrandomtarget=random.randint(1,1000)count=0whileTrue:guess=eval(input('請輸入一個猜測的整數(shù)(1至1000):'))count=count+1ifguess>target:print('猜大了')elifguess<target:print('猜小了')else:print('猜對了')breakprint("此輪的猜測次數(shù)是:",count)

實例解析:猜數(shù)字游戲由于使用了eval(input())方式獲得用戶輸入,如果用戶輸入非數(shù)字產生運行錯誤,程序將會退出。為了增加程序魯棒性,增加異常處理機制。

12345678910111213141516importrandomtarget=random.randint(1,1000)count=0whileTrue:try:guess=eval(input('請輸入一個猜測的整數(shù)(1至1000):'))except:print('輸入有誤,請重試,不計入猜測次數(shù)哦!')continuecount=count+1ifguess>target:print('猜大了')elifguess<target:print('猜小了')else:print('猜對了')breakprint("此輪的猜測次數(shù)是:",count)

實例解析:猜數(shù)字游戲該程序執(zhí)行效果如下>>>

請輸入一個猜測的整數(shù)(1至1000):500猜大了請輸入一個猜測的整數(shù)(1至1000):Python輸入有誤,請重試,不計入猜測次數(shù)哦!請輸入一個猜測的整數(shù)(1至1000):260猜小了請輸入一個猜測的整數(shù)(1至1000):380猜大了請輸入一個猜測的整數(shù)(1至1000):300猜小了請輸入一個猜測的整數(shù)(1至1000):340猜小了請輸入一個猜測的整數(shù)(1至1000):360猜小了請輸入一個猜測的整數(shù)(1至1000):370猜對了此輪的猜測次數(shù)是:7本章小結

本章講解了程序的三種控制結構,具體講解了分支結構的三種類型:單分支結構、二分支結構合多分支結構,以及判斷條件的組合。進一步具體講解了循環(huán)結構的兩種類型:遍歷循環(huán)和無限循環(huán),以及循環(huán)控制符break和continue。最后,講解了程序的基本異常處理方法。通過猜數(shù)字游戲的實例幫助讀者理解程序結構和異常處理的運用。

猜數(shù)字就是人生歷程,運氣重要?方法重要?或許,快樂的經歷才最重要。全國計算機等級考試二級教程

Python語言程序設計

(2018年版)【第5章】

Python組合數(shù)據(jù)類型Python程序設計5.1列表與元組5.2字典5.3集合Python程序設計序列類型定義序列處理函數(shù)及方法列表類型及操作元組類型及操作序列類型應用場景列表與元組列表與元組序列類型定義序列是具有先后關系的一組元素序列是一維元素向量,元素類型可以不同類似數(shù)學元素序列:s0,s1,…,sn-1元素間由序號引導,通過下標訪問序列的特定元素列表與元組序列類型定義序列是具有先后關系的一組元素列表與元組序列類型定義序號的定義列表與元組序列處理函數(shù)及方法序列通用操作符操作符及應用描述xins如果x是序列s的元素,返回True,否則返回Falsexnotins如果x是序列s的元素,返回False,否則返回Trues+t連接兩個序列s和ts*n或n*s將序列s復制n次s[i]索引,返回s中的第i元素s[i:j]或s[i:j:k]切片,返回序列s中第i到j-1以k為步長的元素子序列列表與元組序列處理函數(shù)及方法序列通用操作符列表與元組序列處理函數(shù)及方法函數(shù)和方法函數(shù)和方法描述len(s)返回序列s的長度min(s)返回序列s的最小元素,s中元素需要可比較max(s)返回序列s的最大元素,s中元素需要可比較s.index(x)或s.index(x,i,j)返回序列s從i開始到j-1元素中第一次出現(xiàn)元素x的位置s.count(x)返回序列s中出現(xiàn)x的總次數(shù)列表與元組序列處理函數(shù)及方法函數(shù)和方法列表與元組列表類型及操作列表是一種序列類型,創(chuàng)建后可以隨意被修改使用方括號[]或list()創(chuàng)建,元素間用逗號,分隔列表中各元素類型可以不同,無長度限制列表與元組列表類型及操作列表類型定義列表與元組列表類型及操作列表類型操作函數(shù)和方法列表與元組列表類型及操作列表類型操作函數(shù)和方法>>>ls=["cat","dog","tiger",1024]>>>ls[1:2]=[1,2,3,4]['cat',1,2,3,4,'tiger',1024]>>>dells[::3][1,2,4,'tiger']>>>ls*2[1,2,4,'tiger',1,2,4,'tiger']列表與元組列表類型及操作列表類型操作函數(shù)和方法列表與元組列表類型及操作列表類型操作函數(shù)和方法>>>ls=["cat","dog","tiger",1024]>>>ls.append(1234)['cat','dog','tiger',1024,1234]>>>ls.insert(3,"human")['cat','dog','tiger','human',1024,1234]>>>ls.reverse()[1234,1024,'human','tiger','dog','cat']列表與元組列表類型及操作列表功能默寫定義空列表lt向lt新增5個元素修改lt中第2個元素向lt中第2個位置增加一個元素從lt中第1個位置刪除一個元素刪除lt中第1-3位置元素判斷l(xiāng)t中是否包含數(shù)字0向lt新增數(shù)字0返回數(shù)字0所在lt中的索引lt的長度lt中最大元素清空lt列表與元組列表類型及操作列表功能默寫定義空列表lt向lt新增5個元素修改lt中第2個元素向lt中第2個位置增加一個元素從lt中第1個位置刪除一個元素刪除lt中第1-3位置元素列表與元組列表類型及操作列表功能默寫判斷l(xiāng)t中是否包含數(shù)字0向lt新增數(shù)字0返回數(shù)字0所在lt中的索引lt的長度lt中最大元素清空lt列表與元組元組類型及操作元組是一種序列類型,一旦創(chuàng)建就不能被修改使用小括號()或tuple()創(chuàng)建,元素間用逗號,分隔可以使用或不使用小括號列表與元組元組類型及操作tup1=

()

創(chuàng)建空元組tup1=();元組中只包含一個元素時,需要在元素后面添加逗號,否則括號會被當作運算符使用:>>>tup1=(50)>>>type(tup1)#不加逗號,類型為整型<class'int'>>>>tup1=(50,)>>>type(tup1)#加上逗號,類型為元組<class'tuple'>列表與元組元組類型及操作元組類型操作元組繼承了序列類型的全部通用操作元組因為創(chuàng)建后不能修改,因此沒有特殊操作列表與元組元組類型及操作元組類型操作訪問元組元組可以使用下標索引來訪問元組中的值,如下實例:tup1=('Google','Runoob',1997,2000)tup2=(1,2,3,4,5,6,7)print("tup1[0]:",tup1[0])print("tup2[1:5]:",tup2[1:5])以上實例輸出結果:tup1[0]:Googletup2[1:5]:(2,3,4,5)列表與元組元組類型及操作元組類型操作修改元組元組中的元素值是不允許修改的,但我們可以對元組進行連接組合,如下實例:tup1=(12,34.56);tup2=('abc','xyz')#創(chuàng)建一個新的元組tup3=tup1+tup2;print(tup3)以上實例輸出結果:(12,34.56,'abc','xyz')列表與元組元組類型及操作元組類型操作刪除元組元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個元組,如下實例:tup=('Google','Runoob',1997,2000)print(tup)deltup;print("刪除后的元組tup:")print(tup)以上實例元組被刪除后,輸出變量會有異常信息列表與元組元組類型及操作元組運算符Python表達式結果len((1,2,3))3(1,2,3)+(4,5,6)(1,2,3,4,5,6)('Hi!',)*4('Hi!','Hi!','Hi!','Hi!')3in(1,2,3)TRUEforxin(1,2,3):print(x,)123列表與元組序列類型應用場景元組用于元素不改變的應用場景,更多用于固定搭配場景

如數(shù)據(jù)保護,將列表類型轉換成元組類型lt=tuple(ls)列表更加靈活,它是最常用的序列類型最主要作用:表示一組有序數(shù)據(jù),進而操作它們如元素遍歷,foriteminls(lt):<語句塊>Python程序設計6.1列表與元組6.2字典6.3集合Python程序設計字典類型定義字典處理函數(shù)及方法字典類型應用場景字典字典字典類型定義通過任意鍵信息查找一組數(shù)據(jù)中值信息的過程叫映射映射是一種鍵(索引)和值(數(shù)據(jù))的對應字典字典類型定義鍵值對:鍵是數(shù)據(jù)索引的擴展-字典是鍵值對的集合,鍵值對之間無序字典字典類型定義鍵必須是唯一的,但值則不必。值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。采用大括號{}和dict()創(chuàng)建,鍵值對用冒號:表示{<鍵1>:<值1>,<鍵2>:<值2>,…,<鍵n>:<值n>}dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}字典字典類型定義在字典變量中,通過鍵獲得值<字典變量>={<鍵1>:<值1>,…,<鍵n>:<值n>}<值>=<字典變量>[<鍵>]<字典變量>[<鍵>]=<值>[]用來向字典變量中索引或增加元素>>>dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}>>>dict["Alice"]'2341'>>>dict['Tom']='4554'>>>dict{'Alice':'2341','Beth':'9102','Cecil':'3258','Tom':'4554'}字典字典處理函數(shù)及方法字典字典處理函數(shù)及方法>>>d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}>>>"中國"indTrue>>>d.keys()dict_keys(['中國','美國','法國'])>>>d.values()dict_values(['北京','華盛頓','巴黎'])字典字典處理函數(shù)及方法字典字典處理函數(shù)及方法>>>d={"中國":"北京","美國":"華盛頓","法國":"巴黎"}>>>d.get("中國","伊斯蘭堡")'北京'>>>d.get("巴基斯坦","伊斯蘭堡")'伊斯蘭堡'>>>d.popitem()('美國','華盛頓')字典字典類型應用場景映射無處不在,鍵值對無處不在例如:統(tǒng)計數(shù)據(jù)出現(xiàn)的次數(shù),數(shù)據(jù)是鍵,次數(shù)是值最主要作用:表達鍵值對數(shù)據(jù),進而操作它們序列的拷貝序列的拷貝直接賦值:其實就是對象的引用(別名)淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象深拷貝(deepcopy):

copy模塊的deepcopy方法,完全拷貝了父對象及其子對象序列的拷貝序列的拷貝b=a:賦值引用,a和b都指向同一個對象。b=a.copy():淺拷貝,a和b是一個獨立的對象,但他們的子對象還是指向統(tǒng)一對象(是引用)序列的拷貝序列的拷貝b=copy.deepcopy(a):深度拷貝,a和b完全拷貝了父對象及其子對象,兩者是完全獨立的序列的拷貝序列的拷貝importcopya=[1,2,3,4,['a','b']]#原始對象b=a#賦值,傳對象的引用c=copy.copy(a)#對象拷貝,淺拷貝d=copy.deepcopy(a)#對象拷貝,深拷貝a.append(5)#修改對象aa[4].append('c')#修改對象a中的['a','b']數(shù)組對象

print('a=',a)print('b=',b)print('c=',c)print('d=',d)Python程序設計6.1列表與元組6.2字典6.3集合Python程序設計集合類型定義集合操作符集合處理方法集合類型應用場景集合集合集合類型定義集合類型與數(shù)學中的集合概念一致集合元素之間無序,每個元素唯一,不存在相同元素集合元素不可更改,不能是可變數(shù)據(jù)類型集合是多個元素的無序組合集合集合類型定義集合用大括號{}表示,元素間用逗號分隔建立集合類型用{}或set()建立空集合類型,必須使用set()集合是多個元素的無序組合集合集合類型定義由于集合元素是無序的,集合的打印效果與定義順序可以不一致。由于集合元素獨一無二,使用集合類型能夠過濾掉重復元素。set(x)函數(shù)可以用于生成集合>>>S={425,"BIT",(10,"CS"),424}>>>S{424,425,(10,'CS'),'BIT'}>>>W=set(‘apple’){'e','p','a','l'}>>>V=set(("cat","dog","tiger","human")){'cat','human','dog','tiger'}集合集合類型定義由于集合元素是無序的,集合的打印效果與定義順序可以不一致。由于集合元素獨一無二,使用集合類型能夠過濾掉重復元素。set(x)函數(shù)可以用于生成集合>>>S={425,"BIT",(10,"CS"),424}>>>S{424,425,(10,'CS'),'BIT'}>>>W=set(‘apple’){'e','p','a','l'}>>>V=set(("cat","dog","tiger","human")){'cat','human','dog','tiger'}集合集合操作符集合集合操作符6個操作符集合集合操作符4個增強操作符集合集合操作符>>>A={"p","y",123}>>>B=set("pypy123")>>>A-B{123}>>>B-A{'3','1','2'}>>>A&B{'p','y'}>>>A|B{'1','p','2','y','3',123}>>>A^B{'2',123,'3','1'}集合集合處理方法集合集合處理方法集合集合的應用場景包含關系比較:>>>"p"in{"p","y",123}True數(shù)據(jù)去重:集合類型所有元素無重復>>>ls=["p","p","y","y",123]>>>s=set(ls)#利用了集合無重復元素的特點{'p','y',123}>>>lt=list(s)#還可以將集合轉換為列表['p','y',123]謝謝

大家全國計算機等級考試二級教程

Python語言程序設計

(2018年版)【第5章】

函數(shù)和代碼復用函數(shù)的定義和使用函數(shù)的參數(shù)傳遞:可選參數(shù)傳遞、參數(shù)名稱傳遞、函數(shù)的返回值變量的作用域:局部變量和全局變量考綱考點知識導圖函數(shù)的基本使用函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調用。經過定義,一組語句等價于一個函數(shù),在需要使用這組語句的地方,直接調用函數(shù)名稱即可。因此,函數(shù)的使用包括兩部分:函數(shù)的定義和函數(shù)的使用。函數(shù)是一種功能抽象。函數(shù)的定義Python定義一個函數(shù)使用def保留字,語法形式如下:

def<函數(shù)名>(<參數(shù)列表>): <函數(shù)體> return<返回值列表>函數(shù)的定義函數(shù)名可以是任何有效的Python標識符參數(shù)列表是調用該函數(shù)時傳遞給它的值,可以有零個、一個或多個,當傳遞多個參數(shù)時各參數(shù)由逗號分隔,當沒有參數(shù)時也要保留圓括號。函數(shù)體是函數(shù)每次被調用時執(zhí)行的代碼,由一行或多行語句組成。函數(shù)的定義函數(shù)的定義

123456#定義一個對整數(shù)n求階乘的函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns

如果需要返回值,使用保留字return和返回值列表。函數(shù)可以沒有return語句,函數(shù)體結束后會將控制權返回給調用者。定義后的函數(shù)不能直接運行,需要經過“調用”才能運行。調用函數(shù)的基本方法如下: <函數(shù)名>(<實際賦值參數(shù)列表>)函數(shù)的使用

12345678#定義一個對整數(shù)n求階乘的函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns#調用整數(shù)階乘的函數(shù)print(fact(100))

具體來說,函數(shù)的使用一共分為四個步驟:函數(shù)定義函數(shù)調用函數(shù)執(zhí)行函數(shù)返回函數(shù)的使用1.函數(shù)定義

使用def保留字將一段代碼定義為函數(shù),需要確定函數(shù)的名字、參數(shù)的名字、參數(shù)的個數(shù),使用參數(shù)名稱作為形式參數(shù)(占位符)編寫函數(shù)內部的功能代碼。函數(shù)的使用2.函數(shù)調用

通過函數(shù)名調用函數(shù)功能,對函數(shù)的各個參數(shù)賦予實際值,實際值可以是實際數(shù)據(jù),也可以是在調用函數(shù)前已經定義過的變量。函數(shù)的使用3.函數(shù)執(zhí)行

函數(shù)被調用后,使用實際參數(shù)(賦予形式參數(shù)的實際值)參與函數(shù)內部代碼的運行,如果有結果則進行輸出。函數(shù)的使用4.函數(shù)返回

函數(shù)執(zhí)行結束后,根據(jù)return保留字的指示決定是否返回結果,如果返回結果,則結果將被放置到函數(shù)被調用的位置,函數(shù)使用完畢,程序繼續(xù)運行。函數(shù)的使用函數(shù)的參數(shù)傳遞函數(shù)的參數(shù)在定義時可以指定默認值,當函數(shù)被調用時,如果沒有傳入對應的參數(shù)值,則使用函數(shù)定義時的默認值替代,函數(shù)定義時的語法形式如下:

def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認值>): <函數(shù)體> return<返回值列表>可選參數(shù)傳遞需要注意,可選參數(shù)一般都放置在非可選參數(shù)的后面,即定義函數(shù)時,先給出所有非可選參數(shù),然后再分別列出每個可選參數(shù)及對應的默認值??蛇x參數(shù)傳遞>>>defmultiply(x,y=10):print(x*y)>>>multiply(99)990>>>multiply(99,2)198Python語言同時支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù),語法形式如下: <函數(shù)名>(<參數(shù)名>=<實際值>)參數(shù)名稱傳遞>>>defmultiply(x,y=10):print(x*y)>>>multiply(x=99)990>>>multiply(y=2,x=99)198return語句用來結束函數(shù)并將程序返回到函數(shù)被調用的位置繼續(xù)執(zhí)行。return語句可以出現(xiàn)在函數(shù)中的任何部分,同時可以將0個、1個或多個函數(shù)運算的結果返回給函數(shù)被調用處的變量。

函數(shù)的返回值>>>defmultiply(x,y=10):returnx*y>>>s=multiply(99,2)>>>print(s)198函數(shù)可以沒有return,此時函數(shù)并不返回值。當函數(shù)使用return返回多個值,可以使用一個變量或多個變量保存結果。

函數(shù)的返回值>>>defmultiply(x,y=10):returnx*y,x+y>>>s=multiply(99,2)>>>print(s)(198,101)>>>a,b=multiply(99,2)>>>print(a)198>>>print(b)101變量的作用域根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。局部變量僅在函數(shù)內部,且作用域也在函數(shù)內部,全局變量的作用域跨越多個函數(shù)。函數(shù)的返回值局部變量指在函數(shù)內部使用的變量,僅在函數(shù)內部有效,當函數(shù)退出時變量將不再存在。變量z是函數(shù)multiple()內部使用的變量,當函數(shù)調用后,變量z將不存在。局部變量>>>defmultiply(x,y=10):z=x*y#z是函數(shù)內部的局部變量

returnz>>>s=multiply(99,2)>>>print(s)198>>>print(z)Traceback(mostrecentcalllast):File"<pyshell#11>",line1,in<module>print(z)NameError:name'z'isnotdefined全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內部使用時,需要提前使用保留字global聲明,語法形式如下:global<全局變量>全局變量上例中,變量n是全局變量,在函數(shù)multiply()中使用時需要在函數(shù)內部使用global聲明,定義后即可使用。全局變量>>>n=2#n是全局變量>>>defmultiply(x,y=10):globalnreturnx*y*n#使用全局變量n>>>s=multiply(99,2)>>>print(s)396如果未使用保留字global聲明,即使名稱相同,也不是全局變量。全局變量>>>n=2#n是全局變量>>>defmultiply(x,y=10):n=x*yreturnn#此處的n不是全局變量>>>s=multiply(99,2)>>>print(s)198>>>print(n)#不改變外部全局變量的值2代碼復用函數(shù)是程序的一種基本抽象方式,它將一系列代碼組織起來通過命名供其他程序使用。函數(shù)封裝的直接好處是代碼復用,任

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論