




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
6.1Python的安裝與使用6.1Python的安裝與使用6.1.1Python的安裝(1)訪問官網(wǎng)/,下載安裝包;(2)根據(jù)教材和安裝引導(dǎo),完成Python的安裝;(3)在控制臺驗(yàn)證Python是否安裝成功。6.1Python的安裝與使用6.1.2Python可視化編程工具——JupyterLabJupyterLab是一個(gè)開源的交互式開發(fā)環(huán)境,專為數(shù)據(jù)科學(xué)、編程和教育等多個(gè)領(lǐng)域設(shè)計(jì)。JupyterLab是JupyterNotebook的下一代產(chǎn)品,擴(kuò)展了JupyterNotebook的功能。JupyterLab主要的功能與特點(diǎn)如下:(1)多文檔界面
支持多個(gè)文檔和視圖并排工作。(2)文件瀏覽器
集成文件瀏覽器,支持文件的查看和操作,包括拖放和上下文菜單功能。(3)插件系統(tǒng)
支持第三方擴(kuò)展和插件,用戶可以自定義和擴(kuò)展功能,如數(shù)據(jù)可視化工具、版本控制等。(4)內(nèi)嵌終端
支持在JupyterLab中直接運(yùn)行終端命令,實(shí)現(xiàn)終端命令和Python代碼的混合開發(fā)。(5)實(shí)時(shí)協(xié)作
支
持
多
用
戶
實(shí)
時(shí)
協(xié)
作,
類
似GoogleDocs的
多
人
編
輯
功
能,
盡管JupyterLab本身不是為多用戶實(shí)時(shí)協(xié)作設(shè)計(jì)的,但其notebook可以很方便地共享和協(xié)作。(6)交互式小部件
支持使用ipywidgets創(chuàng)建和使用交互式小部件,增強(qiáng)數(shù)據(jù)分析和科學(xué)研究的交互性。(7)多語言支持
支持多種編程語言,包括R、Julia、Scala等。(8)輸出格式多樣化
允許用戶將notebook導(dǎo)出為多種格式,方便分享和展示。6.1Python的安裝與使用1、JupyterLab的安裝Python可以通過pip命令完成JupyterLab的安裝,打開命令行界面,輸入命令“pipinstalljupyterlab”,并回車。該命令會從Python包索引(PyPI)下載并安裝JupyterLab及其依賴項(xiàng)。安裝成功后如圖所示。JupyterLab安裝后的默認(rèn)工作目錄是在C盤下的。6.1.2Python可視化編程工具——JupyterLab6.1Python的安裝與使用2、JupyterLab的安裝與啟動在安裝JupyterLab后,接下來要做的是運(yùn)行它。在命令行使用jupyter-lab命令,然后默認(rèn)瀏覽器會自動打開JupyterLab。特別注意,在整個(gè)JupyterLab的使用過程中,下圖所示的控制臺不能關(guān)閉!6.1.2Python可視化編程工具——JupyterLab6.1Python的安裝與使用3、upyterLab的安裝與啟動瀏覽器打開的是JupyterLab的工作面板,如下圖。左側(cè)一欄是文件瀏覽器,顯示從JupyterLab啟動的位置可以使用的文件。右側(cè)的選項(xiàng)卡稱為啟動器,可以新建notebook、console、teminal或者text文本。在啟動器中點(diǎn)擊你想要打開的文檔類型,即可以打開相應(yīng)文檔。6.1.2Python可視化編程工具——JupyterLab6.1Python的安裝與使用6.1.3第一個(gè)Python程序完成JupyterLab的安裝后,在“Notebook”區(qū)域下,點(diǎn)擊“Python3(ipykernel)”按鈕,新建一個(gè)ipynb文件。如圖所示,新建的文件以選項(xiàng)卡的方式呈現(xiàn),頁面中提供了工具欄和代碼編輯框,文件默認(rèn)名為“Untitled.ipynb”。6.1Python的安裝與使用6.1.3第一個(gè)Python程序在創(chuàng)建好的文件中,可以開始編寫第一個(gè)Python程序了。我們編寫一條print輸出語句后,在工具欄中點(diǎn)擊“”圖標(biāo)運(yùn)行程序,如圖所示。6.1Python的安裝與使用6.1.3第一個(gè)Python程序程序編寫完成后,可以點(diǎn)擊“”圖標(biāo),進(jìn)行代碼保存。文件在首次保存時(shí),會彈出重命名的彈窗,在彈窗中可以修改文件的名字,這里將本次文件命名為“HelloPython.ipynb”,點(diǎn)擊“Rename”按鈕即可完成重命名。6.1Python的安裝與使用6.1.3第一個(gè)Python程序——小貼士JupyterLab中默認(rèn)創(chuàng)建的是ipynb文件,Python其他的編譯器,比如IDLE,pycharm,Spyder中默認(rèn)的是py格式文件。JupyteLab中提供了菜單選項(xiàng)用于將ipynb文件導(dǎo)出為py文件,在文件瀏覽器中點(diǎn)擊“File”菜單,尋找“SaveandExportNotebookAs...”選項(xiàng),并選擇“ExecutableScript”作為導(dǎo)出格式。比如,將上述創(chuàng)建的“HelloPython.ipynb”,導(dǎo)出為“HelloPython.py”,如圖所示。謝謝觀看6.2.1數(shù)字類型6.2.1數(shù)字類型
Python具有豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型用于存儲不同類型的數(shù)據(jù),以滿足不同的編程需求。Python的數(shù)據(jù)類型如圖所示。6.2.1數(shù)字類型6.2.1數(shù)字類型1、整型整數(shù)類型(Int)簡稱整型,它用于表示整數(shù)。整數(shù)即沒有小數(shù)部分的數(shù)字,Python中的整數(shù)包括正整數(shù)、0和負(fù)整數(shù)。相比很多強(qiáng)類型的編程語言會提供多種整數(shù)類型不同,Python的整數(shù)不分類型,其取值范圍是無限的,不管多大或者多小的數(shù)字,Python都能輕松處理。在Python中,可對整數(shù)執(zhí)行加(+)減(-)乘(*)除(/)乘方(**)取模(%)運(yùn)算。Python還支持運(yùn)算次序,因此可在同一個(gè)表達(dá)式中使用多種運(yùn)算。6.2.1數(shù)字類型6.2.1數(shù)字類型2、浮點(diǎn)型浮點(diǎn)型(float)用于表示浮點(diǎn)數(shù)。Python將帶小數(shù)點(diǎn)的數(shù)字都稱為浮點(diǎn)數(shù)。Python中的小數(shù)有兩種書寫形式:(1)十進(jìn)制形式。這種是我們平時(shí)看到的小數(shù)形式,例如45.6、345.0、0.345。書寫小數(shù)時(shí)必須包含一個(gè)小數(shù)點(diǎn),否則會被Python當(dāng)作整數(shù)處理。(2)指數(shù)形式。Python小數(shù)的指數(shù)形式的寫法為:aEn或aen。a為尾數(shù)部分,是一個(gè)十進(jìn)制數(shù);n為指數(shù)部分,是一個(gè)十進(jìn)制整數(shù);E或e是固定的字符,用于分割尾數(shù)部分和指數(shù)部分,整個(gè)表達(dá)式等價(jià)于a×10n。例如:2.1E5=2.1乘以10的5次方,其中2.1是尾數(shù),5是指數(shù)。6.2.1數(shù)字類型6.2.1數(shù)字類型3、復(fù)數(shù)類型復(fù)數(shù)類型(Complex)用于表示數(shù)學(xué)中的復(fù)數(shù),例如,3+2j、3.1+4.9j這樣的數(shù)據(jù)被稱為復(fù)數(shù)。復(fù)數(shù)是Python的內(nèi)置類型,直接書寫即可。Python中的復(fù)數(shù)具有以下4個(gè)特點(diǎn):(1)復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,為real+imagj或real+imagJ。(2)復(fù)數(shù)的實(shí)數(shù)部分real和虛數(shù)部分的imag都是浮點(diǎn)型(3)虛數(shù)部分必須有后綴j或J。(4)一個(gè)復(fù)數(shù)必須有表示虛數(shù)部分的實(shí)數(shù)和j。謝謝觀看6.2.2布爾類型6.2數(shù)據(jù)類型6.2.2
布爾類型布爾類型(Boolean),用于表示邏輯上的“真”或者“假”。Python中布爾類型只有兩個(gè)取值:True和False。實(shí)際上布爾類型堪稱是一種特殊的整型,其中True對應(yīng)的整數(shù)為1,F(xiàn)alse對應(yīng)的整數(shù)為0。每一個(gè)Python對象都天生具有布爾值(True或False),進(jìn)而可用于布爾測試(如用在if、while中)。6.2數(shù)據(jù)類型6.2.2
布爾類型在Python中,以下對象的布爾值都是False:0L(長整型0)0(整型0)False(布爾型)None0.0+0.0j(復(fù)數(shù)0)0.0(浮點(diǎn)型0)[](空列表)“”(空字符串){}(空字典)()(空元組)用戶自定義的類實(shí)例中如果定義了方法nonzero()或len(),那么這些方法會返回0或False。除了上述對象之外的所有其他對象的布爾值都為True。謝謝觀看6.2.3字符串6.2數(shù)據(jù)類型6.2.3字符串1、字符串定義字符串是一種用來表示文本的數(shù)據(jù)類型,字符串中的字符可以是ASCII字符、各種符號以及各種Unicode字符。Python中的字符串是不可變的,一旦創(chuàng)建不能修改。Python中支持使用單引號、雙引號和三引號定義字符串,其中單引號和雙引號通常用于定義單行字符串,三引號多用于定義多行字符串。定義字符串時(shí)單引號與雙引號可以嵌套使用,需要注意的是,使用雙引號表示的字符串中允許嵌套單引號,但不允許包含雙引號。6.2數(shù)據(jù)類型6.2.3字符串2、字符串輸出Python的字符串可通過占位符%、format()方法和f-strings三種方式實(shí)現(xiàn)輸岀。利用占位符%對字符串進(jìn)行格式化時(shí),Python會使用一個(gè)帶有格式符的字符串作為模板,這個(gè)格式符用于為真實(shí)值預(yù)留位置,并說明真實(shí)值應(yīng)該呈現(xiàn)的格式。01占位符%format()方法的基本使用格式:<字符串>.format(<參數(shù)列表>)在format()方法中使用“{}”為變量預(yù)留位置。02format()方法f-strings在格式上以f或F引領(lǐng)字符串,字符串中使用{}標(biāo)明被格式化的變量。03f-strings6.2數(shù)據(jù)類型6.2.3字符串2、字符串的格式化輸出利用占位符%對字符串進(jìn)行格式化時(shí),不同的占位符為不同的變量預(yù)留位置,常見的占位符如表所示。6.2數(shù)據(jù)類型6.2.3字符串3、字符串的常見操作字符串拼接字符串的拼接可以直接使用“+”符號實(shí)現(xiàn)。1字符串替換字符串的replace()方法可使用新的字符串(new)替換目標(biāo)字符串中原有的舊字符串(old),如果指定第三個(gè)參數(shù)count,則替換不超過count次。2字符串分割字符串的split()方法可以使用分隔符把字符串分割成序列。3去除字符串兩側(cè)空格字符串對象的strip()方法一般用于移除字符串頭尾指定的字符(默認(rèn)為空格或換行符)或字符序列。4謝謝觀看6.2.4列表與元組6.2數(shù)據(jù)類型6.2.4列表與元組
數(shù)據(jù)結(jié)構(gòu)是以某種方式(如通過編號)組合起來的數(shù)據(jù)元素(如數(shù)、字符乃至其他數(shù)據(jù)結(jié)構(gòu))集合。在Python中,最基本的數(shù)據(jù)結(jié)構(gòu)為序列(Sequence)。序列中的每個(gè)值都有對應(yīng)的位置值,稱之為索引,索引從0開始,第二個(gè)索引是1,以此類推。在有些編程語言中,從1開始給序列中的元素編號,但從0開始指出相對于序列開頭的偏移量。這顯得更自然,同時(shí)可回繞到序列末尾,用負(fù)索引表示序列末尾元素的位置。Python已經(jīng)內(nèi)置確定序列的長度以及確定最大和最小的元素的方法,其中最常見的是列表和元組。列表和元組的主要不同在于,列表是可以修改的,而元組不可以。這意味著列表適用于需要?jiǎng)討B(tài)添加元素的應(yīng)用場景,而元組適用于出于某種考慮需要禁止修改序列的應(yīng)用場景。6.2數(shù)據(jù)類型6.2.4列表與元組1.認(rèn)識列表(1)列表的創(chuàng)建方式使用中括號“[]”創(chuàng)建列表時(shí),只需要在中括號“[]”中使用逗號分隔每個(gè)元素即可。例如:list_1=['red','green',8080]使用list()函數(shù)創(chuàng)建列表,需要注意的是該函數(shù)接收的參數(shù)必須是一個(gè)可迭代類型的數(shù)據(jù)。例如:list_2=list('hello,ai')0102中括號“[]”list()函數(shù)6.2數(shù)據(jù)類型6.2.4列表與元組(2)訪問列表元素列表中的元素可以通過索引或切片的方式訪問,下面分別使用這兩種方式訪問列表元素。使用索引可以獲取列表中的指定元素。例如:list__01=["Java","python","c#"]print(list_01[1])#訪問列表中索引為1的元素,即python01索引使用切片可以截取列表中的部分元素,得到一個(gè)新列表。例如:list_1=['p','y','t','h','o','n']print(list_1[2:5:1])#獲取列表中索引為2至索引為5(不包含5)且步長為1的元素,即['t','h','o']02切片6.2數(shù)據(jù)類型6.2.4列表與元組2.列表的遍歷和排序(1)列表的遍歷列表是一個(gè)可迭代對象,它可以通過for循環(huán)遍歷元素。假設(shè)列表1中存儲的是學(xué)生的名字。可以迭代輸出列表1中所有學(xué)生的姓名:list_1=['王濤','張婷','劉晨','趙言']foriinlist_1:print(f'同學(xué)的姓名是{i}')程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果:同學(xué)的姓名是王濤同學(xué)的姓名是張婷同學(xué)的姓名是劉晨同學(xué)的姓名是趙言6.2數(shù)據(jù)類型6.2.4列表與元組2.列表的遍歷和排序(2)列表的排序法能夠?qū)α斜碓嘏判颍瑫苯有薷脑瓉淼牧斜恚蛊湓匕错樞蚺帕校皇欠祷嘏判蚝蟮牧斜淼母北尽S糜趯⒘斜碓厣蚺帕校摲椒ǖ姆祷刂凳巧蚺帕泻蟮男铝斜怼S糜趯⒘斜碇械脑氐剐蚺帕校窗言斜碇械脑貜挠抑磷笠来闻帕写娣拧?10203sort()方法sorted()方法reverse()方法6.2數(shù)據(jù)類型6.2.4列表與元組3.管理列表元素(1)添加列表元素01用于在列表末尾添加新的元素。append()方法02用于在列表末尾一次性添加另一個(gè)序列中的所有元素,即使用新列表擴(kuò)展原來的列表。extend()方法03用于將元素插入列表的指定位置。insert()方法6.2數(shù)據(jù)類型6.2.4列表與元組3.管理列表元素(2)刪除列表元素用于刪除列表中指定位置的元素。用于移除列表中的某個(gè)元素。用于移除列表中的某個(gè)元素,如果不指定具體元素,那么移除列表中的最后一個(gè)元素。010203del語句remove()方法pop()方法6.2數(shù)據(jù)類型6.2.4列表與元組3.管理列表元素(3)修改列表元素修改列表中的元素就是通過索引獲取元素并對該元素重新賦值。例如:ais=['AI','GMM','GA']ais[0]='BP'print(ais)程序運(yùn)行結(jié)果:['BP','GMM','GA']6.2數(shù)據(jù)類型6.2.4列表與元組4.認(rèn)識元組(1)元組的創(chuàng)建方式元組也是一種序列,但和列表不同,元組是不能修改的。元組的創(chuàng)建方式與列表的創(chuàng)建方式相似,可以通過圓括號“()”或內(nèi)置的tuple()函數(shù)快速創(chuàng)建。使用tuple()函數(shù)創(chuàng)建元組時(shí),如果不傳入任何數(shù)據(jù),就會創(chuàng)建一個(gè)空元組;如果要?jiǎng)?chuàng)建包含元素的元組,就必須要傳入可迭代類型的數(shù)據(jù)。使用圓括號“()”創(chuàng)建元組,并將元組中的元素用逗號進(jìn)行分隔。圓括號“()”Atuple()函數(shù)B6.2數(shù)據(jù)類型6.2.4列表與元組4.認(rèn)識元組(2)訪問元組元素
可以通過索引或切片的方式來訪問元組中的元素。0201元組還可以使用切片來訪問元組中的部分元素。切片元組可以使用索引訪問元組中指定的元素。索引謝謝觀看6.2.5字典與集合6.2.5字典與集合6.2.5字典與集合1.認(rèn)識字典
日常生活中的字典和Python字典的功能類似,都是旨在讓你能夠輕松地找到特定的單詞(鍵),以知曉其對應(yīng)的信息(值)。dictionary(字典)是Python的另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο蟆W值涫浅斜硪酝釶ython之中最靈活的數(shù)據(jù)類型。字典可以用來存儲多個(gè)數(shù)據(jù)。通常用于存儲描述一個(gè)物體的相關(guān)信息。在一些場景下,使用字典比使用列表更合適。下面是Python字典的一些用途:用多個(gè)鍵值對,存儲描述一個(gè)物體的相關(guān)信息–描述更復(fù)雜的數(shù)據(jù)信息將多個(gè)字典放在一個(gè)列表中,再進(jìn)行遍歷,再循環(huán)體內(nèi)針對每一個(gè)字典進(jìn)行相同的處理。6.2.5字典與集合6.2.5字典與集合2.創(chuàng)建和使用字典(1)創(chuàng)建字典
字典用{}定義,使用鍵值對存儲數(shù)據(jù),鍵值對之間使用“,”(英文逗號)分隔。其中鍵(key)是索引,值(value)是數(shù)據(jù)。鍵和值之間使用“:”(英文冒號)分隔。格式如下所示:d={key1:value1,key2:value2,key3:value3}6.2.5字典與集合6.2.5字典與集合2.創(chuàng)建和使用字典(2)字典的基本操作
01訪問字典里的值訪問字典里的值,把相應(yīng)的鍵放入方括號中。
02增加新的鍵-值對dict1={'name':'張峰','age':20}dict1['phone']=#添加phone
03刪除字典元素pop()用于刪除給定鍵對應(yīng)的值。popitem()可以隨機(jī)刪除字典元素。刪除一個(gè)字典用del語句。
04查看字典元素使用items()方法可以查看字典中的所有元素。使用keys()方法可以查看字典中的所有鍵。使用values()方法可以查看字典中的所有值。6.2.5字典與集合3.集合的創(chuàng)建集合(set)是一個(gè)無序的不重復(fù)元素序列。集合的目的是將不同的值存放在一起,不同的集合間用來做關(guān)系運(yùn)算,無須糾結(jié)于集合中的單個(gè)值。可以使用大括號{}或者set()函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用set()而不是{},因?yàn)閧}是用來創(chuàng)建一個(gè)空字典。創(chuàng)建方式如下:basket={'apple','orange','apple','pear','orange','banana'}6.2.5字典與集合6.2.5字典與集合4.集合的基本操作6.2.5字典與集合add(x):將元素x添加到集合
中,如果元素已存在,則不
進(jìn)行任何操作。update()方法添加元素,且參數(shù)可以是列表、元組、字典等01remove(x):
將元素x從集合s中移除,如果元素不存在,則會發(fā)生錯(cuò)誤。discard():也可移除集合中的元素,且如果元素不存在,不會發(fā)生錯(cuò)誤。pop():隨機(jī)刪除集合中的一個(gè)元素02len(s):計(jì)算集合s中的元素個(gè)數(shù)。03s.clear()04添加元素移除元素計(jì)算集合元素個(gè)數(shù)清空集合6.2.5字典與集合4.集合的基本操作6.2.5字典與集合union()方法用于返回兩個(gè)集合的并集,即包含了所有集合的元素,重復(fù)的元素只會出現(xiàn)一次。symmetric_difference()方法用于返回兩個(gè)集合中不重復(fù)的元素集合,即移除兩個(gè)集合中都存在的元素。intersection()方法用于返回兩個(gè)或更多集合中都包含的元素,即交集。difference()方法用于返回集合的差集,即返回的集合元素包含在第一個(gè)集合中,但不包含在第二個(gè)集合(方法的參數(shù))中。集合內(nèi)置其他方法謝謝觀看6.3.1選擇語句6.3流程控制任何編程語言中最常見的程序結(jié)構(gòu)就是順序結(jié)構(gòu)。順序結(jié)構(gòu)就是程序從上到下一行一行地執(zhí)行,中間沒有任何判斷和跳轉(zhuǎn)。6.3流程控制6.3.1選擇語句
現(xiàn)實(shí)世界中有些情況是在必須滿足一定條件下才發(fā)生的,比如一個(gè)學(xué)生能拿獎(jiǎng)學(xué)金必須滿足每門課程在85分以上。選擇語句的基本功能是使程序在不同的情況下,執(zhí)行不同的代碼。這樣程序就不單只是順序執(zhí)行了,可以按照預(yù)先定好的邏輯執(zhí)行不同的流程(比如滿足條件A就執(zhí)行流程A,滿足條件B就執(zhí)行流程B)。
Python提供了if語句來實(shí)現(xiàn)這種功能。if語句可使程序產(chǎn)生分支,根據(jù)分支數(shù)量的不同,if語句分為單分支if語句、雙分支if...else語句和多分支if...elif...else語句。6.3流程控制6.3.1選擇語句1、if語句if語句是最簡單的條件判斷語句,它由三部分組成,分別是if關(guān)鍵字、條件表達(dá)式以及代碼塊。if語句根據(jù)條件表達(dá)式的判斷結(jié)果選擇是否執(zhí)行相應(yīng)的代碼塊,其格式如下:
if
條件表達(dá)式:代碼塊if語句的執(zhí)行流程是:當(dāng)表達(dá)式返回值為真,則程序會執(zhí)行程序代碼塊。如果表達(dá)式值為假,則不會執(zhí)行程序代碼塊。6.3流程控制6.3.1選擇語句2、if...else語句if...else語句產(chǎn)生兩個(gè)分支,可根據(jù)條件表達(dá)式的判斷結(jié)果選擇執(zhí)行哪一個(gè)分支。if...else語句格式如下:if
條件表達(dá)式:
代碼塊1else:
代碼塊2執(zhí)行流程是,如果if條件表達(dá)式結(jié)果為True,執(zhí)行代碼塊1;如果條件表達(dá)式結(jié)果為False,則執(zhí)行代碼塊2。6.3流程控制6.3.1選擇語句3、if...elif...else語句if...else語句可以處理兩種情況,如果程序需要處理多種情況,可以使用if...elif...else語句。if...elif...else語句格式如下:if
條件表達(dá)式1:
代碼塊1elif
條件表達(dá)式2:
代碼塊2elif
條件表達(dá)式3:
代碼塊3elif
條件表達(dá)式n-1:
代碼塊n-1else:
代碼塊n6.3流程控制6.3.1選擇語句3、if...elif...else語句執(zhí)行流程是,if之后可以有任意數(shù)量的elif語句,如果條件表達(dá)式1的結(jié)果為True,則執(zhí)行代碼塊1;如果條件表達(dá)式2的結(jié)果為True,則執(zhí)行代碼塊2依此類推。如果else前面的條件表達(dá)式結(jié)果都為False,則執(zhí)行代碼塊n。謝謝觀看6.3.2if語句的嵌套6.3流程控制6.3.2if語句的嵌套if語句嵌套指的是if語句內(nèi)部包含if語句,其格式如下: if條件表達(dá)式1:
代碼塊1
if條件表達(dá)式2:
代碼塊2if語句嵌套執(zhí)行流程是,先判斷外層if語句中條件表達(dá)式1的結(jié)果是否為True,如果結(jié)果為True,則執(zhí)行代碼塊1,再判斷內(nèi)層if的條件表達(dá)式2的結(jié)果是否為True,如果條件表達(dá)式2的結(jié)果為True,則執(zhí)行代碼塊2。6.3流程控制6.3.2if語句的嵌套以判斷是否為酒后駕車為例來說明if嵌套語句的用法。規(guī)定車輛駕駛員的血液酒精含量小于20mg/100ml不構(gòu)成酒駕;酒精含量大于或等于20mg/100ml為酒駕;酒精含量大于或等于80mg/100ml為醉駕。編寫Python程序判斷是否為酒后駕車。代碼如下:evidence=int(input("輸入駕駛員每100ml血液酒精的含量:"))
ifevidence<20:print("不構(gòu)成酒駕")else:ifevidence<80:print("已構(gòu)成酒駕")else:print("已構(gòu)成醉駕")6.3流程控制6.3.2if語句的嵌套針對if嵌套語句,有兩點(diǎn)需要說明:(1)if語句可以多層嵌套,不僅限于兩層。(2)外層和內(nèi)層的if判斷都可以使用if語句、if...else語句和elif語句。謝謝觀看6.3.3循環(huán)語句6.3流程控制6.3.3循環(huán)語句1.while循環(huán)Python中,while循環(huán)和if條件分支語句類似,即在條件(表達(dá)式)為真的情況下,會執(zhí)行相應(yīng)的代碼塊。不同之處在于,只要條件為真,while就會一直重復(fù)執(zhí)行那段代碼塊。6.3流程控制6.3.3循環(huán)語句1.while循環(huán)while語句的語法格式如下:while
條件表達(dá)式:
代碼塊while語句的執(zhí)行流程:首先判斷條件表達(dá)式的結(jié)果是否為True,如果條件表達(dá)式的結(jié)果為True,則執(zhí)行while循環(huán)中的代碼塊;然后再次判斷條件表達(dá)式的結(jié)果是否為True,如果條件表達(dá)式的結(jié)果為True,再次執(zhí)行while循環(huán)中的代碼塊。每次執(zhí)行完代碼塊都需要重新判斷條件表達(dá)式的結(jié)果,直到條件表達(dá)式的結(jié)果為False時(shí)結(jié)束循環(huán),不再執(zhí)行while循環(huán)中的代碼塊。6.3流程控制6.3.3循環(huán)語句2for循環(huán)for循環(huán)是Python提供的另一種循環(huán)結(jié)構(gòu),可以對可迭代對象進(jìn)行遍歷。for語句的格式如下:for迭代變量in
可迭代對象:
代碼塊每執(zhí)行一次循環(huán),迭代變量都會被賦值為可迭代對象的當(dāng)前元素,提供給執(zhí)行語句使用。謝謝觀看6.3.4循環(huán)嵌套6.3流程控制6.3.4循環(huán)嵌套1.while循環(huán)嵌套while循環(huán)中可以嵌套while循環(huán),其格式如下:while
條件表達(dá)式1:
代碼塊1
...
while
條件表達(dá)式2:
代碼塊26.3流程控制6.3.4循環(huán)嵌套2.for循環(huán)嵌套for循環(huán)也可以嵌套使用。for循環(huán)嵌套的格式如下:for迭代變量in可迭代對象:代碼塊1
for迭代變量in可迭代對象:代碼塊2謝謝觀看6.3.5跳轉(zhuǎn)語句6.3流程控制6.3.5跳轉(zhuǎn)語句1.break語句break語句用于跳出離它最近一級的循環(huán),能夠用于for循環(huán)和while循環(huán)中,通常與if語句結(jié)合使用,放在if語句代碼塊中。其格式如下:for
迭代變量
in
可迭代對象:執(zhí)行語句if
條件表達(dá)式:代碼塊
break6.3流程控制6.3.5跳轉(zhuǎn)語句2.continue語句continue語句用于跳出當(dāng)前循環(huán),繼續(xù)執(zhí)行下一次循環(huán)。當(dāng)執(zhí)行到continue語句時(shí),程序會忽略當(dāng)前循環(huán)中剩余的代碼,重新開始執(zhí)行下一次循環(huán)。例如,從列表中找出所有的正數(shù),代碼如下:forelementin[1,-3,15,17-12]:
ifelement<=0:
continue
print(element)謝謝觀看6.4函數(shù)的使用6.4函數(shù)的使用
函數(shù)是可重復(fù)使用的,用來實(shí)現(xiàn)單一或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。
前面已經(jīng)使用了很多Python提供的內(nèi)置函數(shù),比如print(),但用戶也可以自己創(chuàng)建函數(shù),叫作用戶自定義函數(shù)。6.4函數(shù)的使用6.4.1函數(shù)的創(chuàng)建和調(diào)用
自定義函數(shù)需要遵循的規(guī)則:函數(shù)代碼塊以def關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號()。任何傳入?yún)?shù)和自變量必須放在圓括號中間,圓括號之間可以用于定義參數(shù)。函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。函數(shù)內(nèi)容以冒號:起始,并且縮進(jìn)。return[表達(dá)式]結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方,不帶表達(dá)式的return相當(dāng)于返回None。6.4函數(shù)的使用6.4.1函數(shù)的創(chuàng)建和調(diào)用Python定義函數(shù)使用def關(guān)鍵字,語法格式如下:def函數(shù)名(參數(shù)列表):函數(shù)體默認(rèn)情況下,參數(shù)值和參數(shù)名稱是按函數(shù)聲明中定義的順序匹配起來的。6.4函數(shù)的使用6.4.2函數(shù)參數(shù)
函數(shù)可以獲取參數(shù),這個(gè)參數(shù)的值由調(diào)用者提供,函數(shù)可利用這些值來做一些事情。這些參數(shù)與變量類似,這些變量的值在調(diào)用函數(shù)時(shí)已被定義,且在函數(shù)運(yùn)行時(shí)均已賦值完成。
函數(shù)定義時(shí),參數(shù)放置在函數(shù)名后面的圓括號中,參數(shù)與參數(shù)之間用逗號分隔。當(dāng)調(diào)用函數(shù)時(shí),以同樣的形式提供需要的值。在定義函數(shù)時(shí)給定的名稱稱作“形參”(形式參數(shù),Parameters),在調(diào)用函數(shù)時(shí)所提供給函數(shù)的值稱作“實(shí)參”(實(shí)際參數(shù),Arguments)。6.4函數(shù)的使用6.4.2函數(shù)參數(shù)Python中函數(shù)傳遞參數(shù)的形式主要有:關(guān)鍵字參數(shù)關(guān)鍵字參數(shù)傳遞通過“形式參數(shù)=實(shí)際參數(shù)”的格式,將實(shí)際參數(shù)與形式參數(shù)相關(guān)聯(lián),根據(jù)形式參數(shù)的名稱進(jìn)行參數(shù)傳遞。不定長參數(shù)若要傳入函數(shù)中的參數(shù)的個(gè)數(shù)不確定,可以使用不定長參數(shù)。不定長參數(shù)也稱可變參數(shù),此種參數(shù)接收參數(shù)的數(shù)目可以任意改變。默認(rèn)值參數(shù)定義函數(shù)時(shí)可以指定形式參數(shù)的默認(rèn)值,調(diào)用函數(shù)時(shí),若沒有給帶有默認(rèn)值的形式參數(shù)傳值,則直接使用參數(shù)的默認(rèn)值:若給帶有默認(rèn)值的形式參數(shù)傳值,則實(shí)際參數(shù)的值會覆蓋默認(rèn)值。位置參數(shù)調(diào)用函數(shù)時(shí),編譯器會將實(shí)際參數(shù)按位置順序依次傳遞給形式參數(shù)。函數(shù)參數(shù)6.4函數(shù)的使用6.4.3匿名函數(shù)
匿名函數(shù)是無需函數(shù)名標(biāo)識的函數(shù)。python使用lambda來創(chuàng)建匿名函數(shù)。lambda只是一個(gè)表達(dá)式,函數(shù)體比def簡單很多。lambda的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
lambda函數(shù)的語法只包含一個(gè)語句,如下:lambda[arg1[,arg2,.....argn]]:expression6.4函數(shù)的使用6.4.4return語句
return語句用于退出函數(shù),選擇性地向調(diào)用方返回一個(gè)表達(dá)式。不帶參數(shù)值的return語句返回None。語法格式如下:return[表達(dá)式]6.4函數(shù)的使用6.4.5變量作用域
兩種最基本的變量作用域?yàn)槿肿兞亢途植孔兞俊?/p>
vs全局變量局部變量定義在函數(shù)外部的變量擁有全局作用域全局變量可以在整個(gè)程序范圍內(nèi)訪問定義在函數(shù)內(nèi)部的變量擁有一個(gè)局部作用域局部變量只能在其被聲明的函數(shù)內(nèi)部訪問6.4函數(shù)的使用6.4.6遞歸函數(shù)
函數(shù)遞歸調(diào)用時(shí),需要確定兩點(diǎn):一是遞歸公式;二是邊界條件。遞歸公式是遞歸求解過程中的歸納項(xiàng),用于處理原問題以及與原問題規(guī)律相同的子問題;邊界條件即終止條件,用于終止遞歸。遞歸的應(yīng)用場景如下:問題的定義是按遞歸定義的(斐波納契數(shù)列,階乘等);問題的解法是遞歸的(有些問題只能使用遞歸方法來解決,例如,漢諾塔問題);數(shù)據(jù)結(jié)構(gòu)是遞歸的(鏈表、樹等的操作,包括樹的遍歷,樹的深度等)。謝謝觀看6.5類與對象6.5類與對象6.5.1面向?qū)ο蠡靖拍?/p>
面向?qū)ο缶幊讨塾趯?shí)體以及實(shí)體之間的聯(lián)系。使用面向?qū)ο缶幊趟枷虢鉀Q問題時(shí),開發(fā)人員從問題之中提煉出問題涉及的實(shí)體,將不同實(shí)體各自的特征和關(guān)系進(jìn)行封裝,以實(shí)體主體,為不同實(shí)體定義不同的屬性和方法,以描述實(shí)體各自的屬性與行為。6.5類與對象6.5.1面向?qū)ο蠡靖拍?/p>
面向?qū)ο蟮幕靖拍睿好枋鼍哂邢嗤膶傩院头椒ǖ膶ο蟮募稀n悾–lass)在類的聲明中,定義屬性的變量。實(shí)例變量類變量定義在類中且在函數(shù)體之外。類變量一個(gè)派生類繼承基類的字段和方法。繼承用于處理類及其實(shí)例對象的相關(guān)數(shù)據(jù)。數(shù)據(jù)成員創(chuàng)建一個(gè)類的實(shí)例,類的具體對象。實(shí)例化對父類中繼承的方法進(jìn)行改寫。方法重寫類中定義的函數(shù)。方法定義在方法中的變量,只作用于當(dāng)前實(shí)例的類。局部變量通過類定義的數(shù)據(jù)結(jié)構(gòu)實(shí)例。對象123451098766.5類與對象6.5.2類的創(chuàng)建
使用class關(guān)鍵字來創(chuàng)建一個(gè)新類,class之后為類的名稱并以冒號結(jié)尾,格式如下:class類名:屬性名=屬性值def方法名(self):方法體6.5類與對象6.5.3
對象的創(chuàng)建與使用
類是抽象,需具體化(實(shí)例化)成對象使用才能實(shí)現(xiàn)其意義,在Python中類的實(shí)例化類似函數(shù)調(diào)用方式。訪問對象的屬性和方法的格式如下:
對象名.屬性
對象名.方法()6.5類與對象6.5.4
類的繼承
繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進(jìn)行擴(kuò)展。
通過繼承創(chuàng)建的新類稱為“子類”或“派生類”,被繼承的類稱為“基類”、“父類”或“超類”,繼承的過程,就是從一般到特殊的過程。Python有單繼承和多繼承兩種方式。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 零售庫存智能管理-洞察闡釋
- 語言與認(rèn)知神經(jīng)科學(xué)的交叉研究-洞察闡釋
- 基于深度感知的食品感官質(zhì)量快速檢測技術(shù)-洞察闡釋
- 華南農(nóng)業(yè)大學(xué)《二外日語Ⅰ》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西服裝工程學(xué)院《文化經(jīng)紀(jì)人》2023-2024學(xué)年第二學(xué)期期末試卷
- 西南交通大學(xué)希望學(xué)院《朝鮮語會話(1)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明城市學(xué)院《臨床技能實(shí)踐訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶財(cái)經(jīng)學(xué)院《酒店房務(wù)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 細(xì)胞周期調(diào)控-洞察及研究
- 衡水職業(yè)技術(shù)學(xué)院《國際漢語課堂管理案例與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 兵團(tuán)精神試題及答案
- 村寨垃圾收費(fèi)管理制度
- 江蘇保安證考試題及答案
- 智聯(lián)銀行筆試題庫及答案
- 高校學(xué)生資助誠信教育主題班會
- 2025年入團(tuán)考試評委提問的常見問題及答案
- 貿(mào)易咨詢服務(wù)合同協(xié)議
- 施工現(xiàn)場常見的安全隱患排查及試題與答案
- GA/T 2161-2024法庭科學(xué)非法集資類案件資金數(shù)據(jù)分析規(guī)程
- 食管癌病例分析 手術(shù)、化療與放療方案優(yōu)化
- 銀行安全培訓(xùn)課件
評論
0/150
提交評論