Python編程基礎(chǔ)-課件_第1頁
Python編程基礎(chǔ)-課件_第2頁
Python編程基礎(chǔ)-課件_第3頁
Python編程基礎(chǔ)-課件_第4頁
Python編程基礎(chǔ)-課件_第5頁
已閱讀5頁,還剩209頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Python編程基礎(chǔ)2023/6/41搭建Python環(huán)境目錄認(rèn)識Python2

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序3認(rèn)識PythonPython是一種結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮母邔哟斡嬎銠C程序語言。1991年發(fā)行、C實現(xiàn)起源設(shè)計哲學(xué)宣言優(yōu)雅、明確、簡單人生苦短,我用Python!認(rèn)識PythonPython可以做什么?哪些人在用Python?網(wǎng)站后端程序員:Gmail、Youtube、Reddit、知乎、豆瓣自動化運維:批量處理大量的運維任務(wù)數(shù)據(jù)挖掘工程師數(shù)據(jù)分析師游戲開發(fā)者自動化測試機器學(xué)習(xí)認(rèn)識Python根據(jù)IEEESpectrum2017最新的研究報告顯示,在2016年排名第三的Python在今年已經(jīng)成為世界上最受歡迎的語言,C和Java分別位居第二和第三位。認(rèn)識PythonPython特點簡單、易學(xué)免費、開源可擴展性可嵌入性可移植性跨平臺性(Linux、Windows)豐富的第三方類庫支持網(wǎng)絡(luò)編程、互動模式認(rèn)識PythonPython語言的核心只包含數(shù)字、字符串、列表、字典、文件等常見類型和函數(shù),而由Python標(biāo)準(zhǔn)庫提供了系統(tǒng)管理、網(wǎng)絡(luò)通信、文本處理、數(shù)據(jù)庫接口、圖形系統(tǒng)、XML處理等額外的功能。Python社區(qū)提供了大量的第三方模塊,使用方式與標(biāo)準(zhǔn)庫類似。它們的功能無所不包,覆蓋科學(xué)計算、數(shù)據(jù)挖掘(分析)、Web開發(fā)、數(shù)據(jù)庫接口、數(shù)據(jù)架構(gòu)、機器學(xué)習(xí)、圖形系統(tǒng)多個領(lǐng)域,并且大多成熟而穩(wěn)定。借助于擁有基于標(biāo)準(zhǔn)庫的大量工具、能夠使用低級語言作為其他庫接口使Python已成為一種強大的應(yīng)用于其他語言與工具之間的膠水語言。1搭建Python環(huán)境目錄認(rèn)識Python2

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序3搭建Python環(huán)境在Windows平臺安裝Python的步驟如下。打開瀏覽器,訪問Python官網(wǎng)https://www.P,單擊“Downloads”菜單下的“Windows”版本。搭建Python環(huán)境找到Python3.6.0的安裝包,如果Windows版本是32位的,則單擊“Windowsx86executableinstaller”版本,然后下載。如果Windows版本是64位的,則單擊“Windowsx86-64executableinstaller”版本,然后下載。

搭建Python環(huán)境下載完成后,雙擊運行所下載的文件,此時會彈出一個Python安裝向?qū)У拇翱?。勾上“AddPython3.6toPATH”,然后單擊“Customizeinstallation”按鈕。搭建Python環(huán)境默認(rèn)選擇,單擊“Next”按鈕。在彈出的窗口中可以修改安裝路徑。等待安裝完之后,會彈出安裝成功的窗口。搭建Python環(huán)境打開命令提示符窗口,輸入“python”,會出現(xiàn)以下兩種情況。情況一:說明Python已經(jīng)安裝成功。情況二:Windows會根據(jù)一個PATH環(huán)境變量設(shè)定的路徑去查找python.exe,如果沒有找到就會報錯。

情況一情況二搭建Python環(huán)境如果出現(xiàn)情況二時,需要將python.exe所在的路徑添加到PATH中。右鍵單擊桌面的“計算機”圖標(biāo),選擇“屬性”選項。在彈出的窗口中單擊“高級系統(tǒng)設(shè)置”按鈕。

搭建Python環(huán)境在彈出的窗口中雙擊“環(huán)境變量”按鈕,然后找到系統(tǒng)變量窗口下的“Path”。搭建Python環(huán)境雙擊打開“Path”按鈕,在彈出的窗口中可編輯變量值,在變量值的后面添加Python的安裝路徑,且用“;”(即英文狀態(tài)下的分號)隔開。例如安裝路徑為D:\ProgramFiles\Python36,則添加的變量值為“;D:\ProgramFiles\Python36\”。單擊“確定”按鈕。再次打開命令提示符窗口,輸入“python”,即會出現(xiàn)情況一的界面,說明已經(jīng)配置好Python的環(huán)境變量。搭建Python環(huán)境大多數(shù)Linux發(fā)行版,如CentsOS、Debian、Ubuntu等,都已經(jīng)自帶Python2.x版本的主程序。目前最新版的Ubuntu已經(jīng)自帶了Python3.x版本的主程序,對于沒有安裝Python3.x版本的系統(tǒng),可自行安裝。下面以CentsOS7為例,安裝Python3.6.0的步驟如下。打開瀏覽器,訪問Python官網(wǎng)https://www.P,單擊“Linux/UNIX”版本。搭建Python環(huán)境找到Python3.6.0的壓縮包,單擊“Gzippedsourcetarball”版本,然后下載Gzippedsourcetarball。搭建Python環(huán)境在安裝Python之前,要確保系統(tǒng)中已經(jīng)有了所有必要的開發(fā)依賴。執(zhí)行以下命令可安裝使用的依賴。yum-ygroupinstalldevelopmentyum-yinstallzlib-devel解壓下載好的“Python-3.6.0.tgz”文件,打開終端(terminal),并進入到解壓后的Python-3.6.0目錄下搭建Python環(huán)境自定義安裝目錄后進行安裝,如安裝到/usr/local/python3目錄下,執(zhí)行:./configure--prefix=/usr/local/python3make&&makeinstall其中,--prefix選項是配置安裝的路徑,如果不配置該選項,安裝后可執(zhí)行文件默認(rèn)放在/usr/local/bin,庫文件默認(rèn)放在/usr/localb,配置文件默認(rèn)放在/usr/local/etc,其它的資源文件放在/usr/local,這樣會比較凌亂。如果配置了--prefix,則可以把所有的資源文件放在自定義目錄下,就不會出現(xiàn)雜亂現(xiàn)象。./configure命令執(zhí)行完畢之后,創(chuàng)建一個文件creatingMakefile,供make命令使用,執(zhí)行makeinstall之后就會把程序安裝到指定的目錄中去。搭建Python環(huán)境安裝成功之后,進入自定義安裝目錄,執(zhí)行“l(fā)n-s-f/usr/local/python3/bin/python3.6/usr/bin/python3.6”命令,創(chuàng)建軟連接。執(zhí)行“python3.6–v”查看Python3.6.0是否安裝成功。執(zhí)行命令“python3.6”,右圖界面即說明安裝成功。搭建Python環(huán)境安裝Python成功之后,就可以正式開始Python之旅了。Python的打開有三種方式:Windows的命令行工具(cmd)、帶圖形界面的PythonShell–IDLE、命令行版本的PythonShell–Python3.6。1.Windows的命令行工具(cmd)

cmd即電腦命令行提示符,是windows環(huán)境下的虛擬DOS窗口。在Windows系統(tǒng)下,打開cmd有三種方法。(1)同時按“win+R”快捷鍵,其中“win”鍵是鍵盤上的開始菜單鍵。在彈出的窗口中輸入“cmd”,單擊“確定”按鈕,即可打開cmd。(2)可以通過所有程序查找搜索到cmd。單擊“cmd.exe”按鈕或按回車鍵即可打開cmd。(3)在C:\Windows\System32路徑下找到cmd.exe,雙擊“cmd”文件。(4)打開cmd后,輸入“Python”,按回車鍵,出現(xiàn)“>>>”符號后,說明已經(jīng)進入Python交互式編程環(huán)境。此時輸入“exit()”即可退出。搭建Python環(huán)境2.帶圖形界面的PythonShell–IDLE(PythonGUI)IDLE是開發(fā)Python程序的基本IDE(集成開發(fā)環(huán)境),由GuidovanRossum親自編寫(至少最初的絕大部分由他編寫)。一般IDLE適合用來測試,演示一些簡單的代碼的執(zhí)行的效果。在Windows系統(tǒng)下,安裝好Python后,可以在開始菜單中,找到IDLE,單擊“IDLE”按鈕即可打開。

搭建Python環(huán)境3.命令行版本的PythonShell–Python3.命令行版本的PythonShell–Python3.6打開方法和IDLE的打開方法是一樣的。在Windows系統(tǒng)下,在開始菜單中找到命令行版本的Python3.6(64-bit),單擊后即可打開。

1搭建Python環(huán)境目錄認(rèn)識Python2

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序3安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment)簡稱IDE,是一種輔助程序開發(fā)人員進行開發(fā)工作的應(yīng)用軟件,在開發(fā)工具內(nèi)部就可以輔助編寫代碼、并編譯打包成為可用的程序,有些甚至可以設(shè)計圖形接口。IDE是集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套。在Python的學(xué)習(xí)過程中少不了IDE,這些工具可以幫助開發(fā)者加快開發(fā)速度,提高效率。在Python中常見的IDE有Python自帶的IDLE、PyCharm、JupyterNotebook、Spyder等,下面簡單介紹這幾款常見的IDE。(1)IDLE(2)PyCharm(3)JupyterNotebook(4)Spyder。一款專門面向和Python科學(xué)庫(即Scipy)打交道的IDE,它集成了pyflakes、pylint和rope。Spyder是開源的(免費的),提供了代碼補全、語法高亮、類和函數(shù)瀏覽器,以及對象檢查的功能。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序PyCharm是由JetBrains打造的一款PythonIDE,帶有一整套可以幫助Python開發(fā)者提高工作效率的工具,比如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制。PyCharm提供一些高級功能,以用于支持Django框架下的專業(yè)Web開發(fā)。還提供了一些很好的功能用于Django開發(fā),同時支持GoogleAppEngine,并且PyCharm支持IronPython。這些功能在先進代碼分析程序的支持下,使PyCharm成為Python專業(yè)開發(fā)人員和剛起步人員使用的有力工具。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序PyCharm可以跨平臺使用,分為社區(qū)版和專業(yè)版,其中社區(qū)版是免費的,專業(yè)版是付費的,對于初學(xué)者來說兩者差距不大。在使用之前需安裝PyCharm,具體安裝步驟如下。打開PyCharm官網(wǎng)(/pycharm),單擊“DOWNLOADNOW”位置。選擇Windows系統(tǒng)的社區(qū)版,單擊“DOWNLOAD”鍵即可進行下載。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序下載完成后,雙擊安裝包進行安裝,單擊‘’Next‘’按鈕。自定義軟件安裝路徑,建議不要使用中文字符,單擊‘’Next‘’按鈕。

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序根據(jù)自己電腦的系統(tǒng)選擇位數(shù),創(chuàng)建桌面快捷方式并關(guān)聯(lián)“.py”文件,單擊“Next”按鈕。單擊“Install”按鈕默認(rèn)安裝。安裝完成后,單擊“Finsh”按鈕。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序雙擊桌面上的快捷方式,在彈出的對話框中選擇不導(dǎo)入開發(fā)環(huán)境配置文件,單擊“OK”按鈕。根據(jù)自己的喜好選擇IDE主題與編輯區(qū)主題,本書使用Darcula主題。由于更改了主題,所以需要重啟IDE,單擊“OK”按鈕即可。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序重啟后,會彈出如的對話窗口,單擊‘’CreateNewProject‘’按鈕創(chuàng)建新項目。自定義項目儲存路徑,IDE默認(rèn)關(guān)聯(lián)Python解釋器,單擊‘’Create‘’按鈕。

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序IDE提供的提示,可以選擇在啟動時不顯示提示,單擊“Close”按鈕。這樣就進入了PyCharm,單擊左下角的符號可顯示或隱藏功能側(cè)邊欄。下面簡單介紹怎么使用PyCharm。

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序新建好項目(此處項目名為python)后,接下來要新建一個.py文件。右鍵單擊“python”這個項目名,選擇“New”欄下的“PythonFile”。在彈出的窗口中,輸入.py文件名,單擊“OK”按鈕即可打開此腳本文件,如果是首次安裝,則此時運行的符號是灰色的,處于不可觸發(fā)的狀態(tài),這時需要設(shè)置控制臺。

安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序單擊運行符號左邊的倒三角符號,進入“Run/DebugConfigurations”配置界面后,單擊綠色的加號,新建一個配置項,并選擇python。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序在右邊的配置界面中,Name一欄里填寫一個名字,單擊Scrip選項,找到剛剛新建的study.py文件。單擊“OK”按鈕之后,運行的符號就會變成綠色的,此時就可以正常編程了。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序Python和其他高級語言一樣,程序的基本構(gòu)架都會有輸入和輸出部分,下面簡單介紹一下Python的輸入和輸出應(yīng)聲蟲程序。1.輸出在Python語言中,實現(xiàn)數(shù)據(jù)的輸出方式有兩種:一種是使用print函數(shù);另一種直接使用變量名查看該變量的原始值。(1)print函數(shù)print函數(shù)可以打印輸出數(shù)據(jù)的輸出操作,其語法結(jié)構(gòu)如下。print(<expressions>)print語法結(jié)構(gòu)里的<expressions>單詞后邊有s的復(fù)數(shù),其含義是表達(dá)式可以是多個。如果有多個<expression>,則表達(dá)式之間用逗號隔開,其語法格式如下。print(<expression>,<expression>,..<expression>)安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序在新建的.py文件中,輸入print語句。>>>print('helloworld')helloworld可以看到每條print語句輸出后都自動換了一行,如果要實現(xiàn)不換行,則需要在變量末尾加上逗號。如第2行語句用逗號連接兩個字符串,在輸出的時候字母“o”和“w”中間有空格。(2)直接使用變量名查看該變量的原始值在交互式環(huán)境中,為了方便,可以直接使用變量名查看該變量的原始值,以達(dá)到輸出的效果。>>>character="helloworld">>>character'helloworld'也可以直接在交互式環(huán)境中運行“helloworld”,實現(xiàn)輸出。>>>"helloworld"'helloworld‘安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序2.輸入在Python里可以通過input函數(shù)從鍵盤獲得用戶的數(shù)據(jù)輸入,其語法結(jié)構(gòu)如下。input(<prompt>)input函數(shù)的形參prompt是一個字符串,用于提示用戶輸入數(shù)據(jù)。input函數(shù)的返回值是字符串型的。>>>character=input('inputyourcharacter:')>>>print(character)inputyourcharacter:第1行使用了input函數(shù)用于接收用戶數(shù)據(jù),當(dāng)用戶輸入數(shù)據(jù)后,input函數(shù)會把輸入數(shù)據(jù)傳給等號左邊的character變量來保存輸入的數(shù)據(jù)。第2行調(diào)用print打印character變量的值,所以執(zhí)行第2行后會打印字符串出“inputyourcharacter:”,以此作為新的提示符,輸入“helloworld”,可以完整的輸出“helloworld”。安裝PyCharm并創(chuàng)建應(yīng)聲蟲程序若想依次打印出“first:”和“second:”,可以用字符串拼接方式。>>>x=input("first:")>>>y=input("second:")>>>print(x+y)在執(zhí)行第3行后,會依次打印出“first:”和“second:”,則需要依次輸入“hello”和“world”,可以完整的輸出“helloworld”。

PPT問題反饋:

/tj/840.jhtmlPython編程基礎(chǔ)2023/6/41Python基礎(chǔ)數(shù)據(jù)類型目錄Python固定語法2

常用操作運算符3Python固定語法計算機語言種類很多,總體可以分為三大類,分別是高級語言、匯編語言、機器語言。Python是一個結(jié)合解釋性、編譯性、互動性和面向?qū)ο蟮母邔哟文_本語言,也是一種高級語言。由于Python易學(xué)習(xí),并且具有廣泛而豐富的標(biāo)準(zhǔn)庫及第三方庫的特點,使它可以和其它語言很好的融合在一起,所以也被稱為“膠水語言”。Python的設(shè)計目標(biāo)之一是讓代碼具備高度的可閱讀性,它設(shè)計時盡量使用其它語言經(jīng)常使用的標(biāo)點符號和英文單字,讓代碼看起來整潔美觀,而不像其他如C、Pascal等靜態(tài)語言那樣需要重復(fù)書寫聲明語句,經(jīng)常出現(xiàn)特殊情況和意外。Python固定語法#-*-coding:utf-8-*-Python3安裝后,系統(tǒng)默認(rèn)其源碼文件為UTF-8編碼。在此編碼下,全世界大多數(shù)語言的字符可以同時在字符串和注釋中得到準(zhǔn)確編譯。大多數(shù)情況下,通過編輯器編寫的Python代碼默認(rèn)保存UTF-8編碼腳本文件,系統(tǒng)通過Python執(zhí)行該文件時就不會出錯。但是如果編輯器不支持UTF-8編碼的文件,或者團隊合作時有人使用了其他編碼格式,Python3就無法自動識別腳本文件,造成程序執(zhí)行錯誤,這時候?qū)ython腳本文件進行編碼聲明就尤為重要了。比如,GBK腳本文件在沒有編碼聲明時,執(zhí)行文件時就會出錯,經(jīng)編碼聲明后腳本就可以正常執(zhí)行。為源文件指定特定的字符編碼,需要在文件的首行或者第二行插入一行特殊的注釋行,通常使用的編碼聲明格式如下。Python固定語法Python注釋行的用法。1.單行注釋>>>print(“Hello,World!”)#這是一個在代碼后面的注釋2.多行注釋在實際應(yīng)用中,常常會有多行注釋的需求。同樣也可以在每一行前加#號就行。(1)井號注釋(2)單引號注釋

’’’該多行注釋使用的是三個單引號’’’(3)雙引號注釋“““該多行注釋使用的是三個雙引號”””Python固定語法多行語句:多行一個語句;一行多個語句。多行一個語句,一般情況下是一行寫完一條語句,但是如果語句太長,就會使得語句冗長不很美觀,通過反斜杠(\)可以實現(xiàn)一個長語句的換行,又不至于被機器識別成多個語句。>>>total=applePrice+\…bananaPrice+\…pearPrice但是Python中在[],{},()里面的多行語句在換行時是不需要使用反斜杠(\)的。>>>total=[applePrice,…bananaPrice,…pearPrice]一行多語句,通常是在短語句中應(yīng)用比較廣泛,使用分號(;)對多個短語句實現(xiàn)隔離,這個就可以在同一行實現(xiàn)多個語句。>>>applePrice=8;bananaPrice=3.5;pearPrice=5Python固定語法

標(biāo)識符在機器語言中是一個被允許作為名字的有效字符串。Python中標(biāo)識符主要體現(xiàn)在變量、函數(shù)、類、模塊、對象等的命名。Python中對標(biāo)識符有如下幾點規(guī)定。(1)標(biāo)識符可以由字母、數(shù)字和下劃線組成。(2)標(biāo)識符不能以數(shù)字開頭,以下劃線開頭的標(biāo)識符具有特殊的意義,使用時需要特別注意。以單下劃線開頭(如_foo)的標(biāo)識符代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用“fromxxximport*”而導(dǎo)入。以雙下劃線開頭(如__foo)的標(biāo)識符代表類的私有成員。以雙下劃線開頭和結(jié)尾(如__foo__)的標(biāo)識符代表Python里特殊方法專用的標(biāo)識,如__init__()代表類的構(gòu)造函數(shù)。(3)標(biāo)識符字母區(qū)分大小寫,例如“Abc”與“abc”是兩個標(biāo)識符。(4)標(biāo)識符禁止使用Python中的保留字。1Python基礎(chǔ)數(shù)據(jù)類型目錄Python固定語法2

常用操作運算符3Python基礎(chǔ)數(shù)據(jù)類型數(shù)據(jù)類型數(shù)值型(不可變)整數(shù)型:Python3沒有Long類型。浮點型復(fù)數(shù):復(fù)數(shù)由實數(shù)和虛數(shù)構(gòu)成,a+bj。布爾值(邏輯型)日期型:datatime模塊字符型(不可變)Python基礎(chǔ)數(shù)據(jù)類型>>>importkeyword#加載keyword庫>>>keyword.iskeyword(“and”)#判斷“and”是否為保留字TRUE>>>and=“我是保留字”#以保留字作為變量名

File"<stdin>",line1and='我是保留字'^SyntaxError:invalidsyntax>>>strExample=“我是一個字符串”#創(chuàng)建一個字符串變量>>>len(strExample)#使用len函數(shù)查看字符串長度7>>>len=“特殊字符串命名”#使用len作為變量名>>>len(strExample)#len函數(shù)查看字符串長度會出錯變量的命名嚴(yán)格遵守標(biāo)識符的規(guī)則,Python中有一類非保留字的特殊字符串(如內(nèi)置函數(shù)名),這些字符串具有某種特殊功能,雖然用于變量名時不會出錯,但會造成相應(yīng)的功能喪失。Python基礎(chǔ)數(shù)據(jù)類型幾種命名法(1)大駝峰(uppercamelcase)所有單詞的首字母都是大寫,例如“MyName,YouFamily”……大駝峰一般用于類的命名。(2)小駝峰(lowercamelcase)第一個單詞的首字母為小寫字母,其余單詞的首字母都采用大寫字母,例如“myName”,“youFamily”……小駝峰用在函數(shù)名和變量名中的情況比較多。(3)下劃線(_)分隔所有單詞都采用小寫字母,中間用下劃線(_)分隔開,例如“my_Name,you_Family”……關(guān)于要使用哪種方法去對變量命名,并沒有一個統(tǒng)一的說法,重要的是一旦選擇好了一種命名方式,在后續(xù)的程序編寫過程保持一致的風(fēng)格即可。Python基礎(chǔ)數(shù)據(jù)類型變量值就是要賦給變量的數(shù)據(jù),在Python中有六個標(biāo)準(zhǔn)的數(shù)據(jù)類型:數(shù)字(Number)、字符串(String)、列表(List)、元組(Tuple)、字典(Dictionary)、集合(Sets),其中列表、元組、字典、集合屬于復(fù)合數(shù)據(jù)類型。最簡單的變量賦值就是把一個變量值賦給一個變量名,只需要用等號(=)就可以實現(xiàn)。同時Python還可以將一個值同時賦給多個變量。>>>a=b=c=1#一個值賦給多給變量>>>a1>>>b1>>>a,b,c=1,2,”abc”#多個變量同時賦值>>>a1>>>b2>>>c‘a(chǎn)bc’Python基礎(chǔ)數(shù)據(jù)類型Python數(shù)值類型轉(zhuǎn)換數(shù)據(jù)類型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類型作為函數(shù)名即可。int(x)將x轉(zhuǎn)換為一個整數(shù)。float(x)將x轉(zhuǎn)換到一個浮點數(shù)。complex(x)將x轉(zhuǎn)換到一個復(fù)數(shù),實數(shù)為x,虛數(shù)為0。complex(x,y)將x和y轉(zhuǎn)換到一個復(fù)數(shù),實數(shù)部分為x,虛數(shù)部分為y。Python基礎(chǔ)數(shù)據(jù)類型函數(shù)返回值(描述)abs(x)返回數(shù)字的絕對值,如abs(-10)返回10ceil(x)返回數(shù)字的上入整數(shù),如math.ceil(4.1)返回5exp(x)返回e的x次冪(ex),如math.exp(1)返回2.718281828459045fabs(x)返回數(shù)字的絕對值,如math.fabs(-10)返回10.0floor(x)返回數(shù)字的下舍整數(shù),如math.floor(4.9)返回4log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0log10(x)返回以10為基數(shù)的x的對數(shù),如math.log10(100)返回2.0max(x1,x2,...)返回給定參數(shù)的最大值,參數(shù)可以為序列。min(x1,x2,...)返回給定參數(shù)的最小值,參數(shù)可以為序列。modf(x)返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號與x相同,整數(shù)部分以浮點型表示。pow(x,y)x**y運算后的值。round(x[,n])返回浮點數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點后的位數(shù)。sqrt(x)返回數(shù)字x的平方根,返回類型為實數(shù),如math.sqrt(4)返回2+0j數(shù)值型函數(shù)Python基礎(chǔ)數(shù)據(jù)類型字符型類型基本操作str='Myname'長度:len(str)計數(shù):str.count('y')下標(biāo):str.index('y')反轉(zhuǎn):str[::-1]合并:'char1'+'char2'+'char3'重復(fù):'word'*3轉(zhuǎn)換:int(string)#非數(shù)字型字符串不能轉(zhuǎn)換成數(shù)值型切片與索引:str[0]str[-4]str[3:]str[:3]判斷元素是否存在:'y'instr'na'notinstrMyname0123456-7-6-5-4-3-2-1Python基礎(chǔ)數(shù)據(jù)類型(1)單引號(’)單引號標(biāo)識字符串的方法可以將字符串用單引號括起來。>>>‘Thisisasentence.’#單引號標(biāo)識字符串(2)雙引號(”)雙引號在字符串中的使用與單引號的用法完全相同,需要注意的是,單引號和雙引號不能混用。>>>”Thisisasentence.”#雙引號標(biāo)識字符串

(3)三引號(’’’或者”””)三引號相比起單引號或者雙引號,自身有一個比較特殊的功能,它能夠標(biāo)識一個多行的字符串,如一段話的換行、縮進等格式都會被原封不動地保留。>>>print(’’’\…Thisisthefirstsentence.…Thisisthesecondsentence.…Thisisthethirdsentence.’’’)字符型類型Python基礎(chǔ)數(shù)據(jù)類型舉個簡單的例子,用單引號標(biāo)識一個字符串的時候,如果該字符串中又含有一個單引號,比如“What’shappened”,這時Python不能辨識這段字符串從何處開始,又在何處結(jié)束。所以需要轉(zhuǎn)義符,即前文提到的反斜杠(\),Python中間的單引號只是純粹的單引號,不具備任何其他作用。比較特殊的是,用雙引號標(biāo)識一個包含單引號的字符串時不需要轉(zhuǎn)義符,但是字符串中包含一個雙引號,仍需要轉(zhuǎn)義。另外,反斜杠可以用來轉(zhuǎn)義其本身。>>>”What’shappened”#雙引號標(biāo)識含有單引號的字符串“What’shappened”>>>”Doublequotes(\“)”#雙引號標(biāo)識的字符串里面的雙引號需要轉(zhuǎn)義‘Doublequotes(“)’>>>print(’Backslash(\\)’)#轉(zhuǎn)義反斜杠Backslash(\)此外,Python中還可以通過給字符串加上一個前綴r或者R來指定原始字符串。>>>print(r‘D:\name\python’)#用r(或者R)指定原始字符串D:\name\python字符型類型字符轉(zhuǎn)義Python基礎(chǔ)數(shù)據(jù)類型字符類型字符串格式化在Python中,字符串格式化使用與C中sprintf函數(shù)一樣的語法。print("我叫%s今年%d歲!"

%

('小明',

10))

號描述

%c

格式化字符及其ASCII碼

%s

格式化字符串

%d

格式化整數(shù)

%u

格式化無符號整型

%o

格式化無符號八進制數(shù)

%x

格式化無符號十六進制數(shù)

%X

格式化無符號十六進制數(shù)(大寫)

號描述

%f

格式化浮點數(shù)字,可指定小數(shù)點后的精度

%e

用科學(xué)計數(shù)法格式化浮點數(shù)

%E

作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)

%g

%f和%e的簡寫

%G

%f和%E的簡寫

%p

用十六進制數(shù)格式化變量的地址

%e

用科學(xué)計數(shù)法格式化浮點數(shù)Python基礎(chǔ)數(shù)據(jù)類型字符類型字符串格式化格式化字符串的函數(shù)str.format(),它增強了字符串格式化的功能。語法:通過{}來代替%。

print('{}awordshecangetwhatshe{}for.'.format('With','came'))通過關(guān)鍵字參數(shù)

print('{pre}awordshecangetwhatshe{verb}for.'.format(pre='With',verb='came'))映射:通過位置

print('{0}awordshecangetwhatshe{1}for.'.format('With','came'))Python基礎(chǔ)數(shù)據(jù)類型字符類型字符串格式化通過下標(biāo)索引p=['With','came']print('{0[0]}awordshecangetwhatshe{0[1]}for.'.format(p))相當(dāng)于print(p[0]+''+'awordshecangetwhatshe'+''+p[1]+''+'for.')通過賦值city=input('writedownthenameofcity:')url='/microservice/weather?citypinyin={}'.format(city)Python基礎(chǔ)數(shù)據(jù)類型字符類型字符串格式化精度常跟類型f一起使用

'{:.2f}'.format(321.33345)

'321.33'用,號還能用來做金額的千位分隔符

'{:,}'.format(1234567890)

'1,234,567,890'進制轉(zhuǎn)換,b、d、o、x分別是二進制、十進制、八進制、十六進制'{:b}'.format(17)

'10001'

'{:d}'.format(17)

'17'Python基礎(chǔ)數(shù)據(jù)類型函數(shù)名稱函數(shù)說明S.split(sep,maxsplit)返回字符串中的單詞列表,使用sep作為分隔符字符串,至多拆分maxsplit次。sep.join(S)連接字符串?dāng)?shù)組。將字符串、元組、列表中的元素以指定的分隔符連接生成一個新字符串。S.strip('chars')返回移除字符串頭尾指定的字符('chars')生成的新字符串。默認(rèn)為去除''。S.lower()將字符串所有大寫字符變?yōu)樾?。S.isalnum()檢驗字符串是否為空。如果字符串至少有一個字符,則返回true,否則返回false。S.count('chars')計算指定字符('chars')在字符串中出現(xiàn)的次數(shù)S.replace(old,new,count)返回字符串,其中所有的子串old通過new替換。如果指定了可選參數(shù)count,則只有前面的count個出現(xiàn)被替換。.lstrip()去掉字符串的左邊空格。.rstrip()去掉字符串的右邊空格。.upper()將小寫字母完全變成大寫字母。.lower()將大寫字母完全變成小寫字母。.capitalize()把字符串的第一個字母變成大寫。.title()把所有單詞的第一個字母變成大寫。字符型內(nèi)建函數(shù)1Python基礎(chǔ)數(shù)據(jù)類型目錄Python固定語法2

常用操作運算符3常用操作運算符Python的常用操作符算術(shù)操作符比較操作符賦值操作符按位操作符邏輯操作符成員操作符身份操作符常用操作運算符操作符描述示例+加法-返回兩操作數(shù)相加的結(jié)果3+2返回5-減法-返回左操作數(shù)減去右操作數(shù)的結(jié)果3-2返回1*乘法-返回兩操作數(shù)相乘的結(jié)果3*2返回6/除法-返回右操作數(shù)除左操作數(shù)的結(jié)果3/2返回1但3.0/2返回1.5%模-返回右操作數(shù)對左操作數(shù)取模的結(jié)果5/3返回2**指數(shù)-執(zhí)行對操作指數(shù)的計算3**2返回9//取商-返回右操作數(shù)對左操作數(shù)取商的結(jié)果3.0/2返回1.0算術(shù)操作符常用操作運算符操作符描述示例==如果兩個操作數(shù)的值相等則返回True,否則返回False3==2返回False!=如果兩個操作數(shù)的值不等則返回True,否則返回False3!=2返回True<>

與!=效果相同3<>2返回True>

如果左操作數(shù)大于右操作數(shù)則返回True,否則返回False3>2返回True<

如果左操作數(shù)小于右操作數(shù)則返回True,否則返回False3<2返回False>=如果左操作數(shù)大于或等于右操作數(shù)則返回True,否則返回False3>=3返回True<=如果左操作數(shù)小于或等于右操作數(shù)則返回True,否則返回False2<=2返回True比較操作符常用操作運算符操作符描述示例=簡單的賦值運算符,賦值從右側(cè)操作數(shù)左側(cè)操作數(shù)c=a+b將

a和b相加的值賦值給

c+=加法AND賦值操作符,它增加了右操作數(shù)左操作數(shù)和結(jié)果賦給左操作數(shù)c+=a相當(dāng)于

c=c+a-=減法AND賦值操作符,它減去右邊的操作數(shù)從左邊操作數(shù),并將結(jié)果賦給左操作數(shù)c-=a

相當(dāng)于

c=c-a*=乘法AND賦值操作符,它乘以右邊的操作數(shù)與左操作數(shù),并將結(jié)果賦給左操作數(shù)c*=a

相當(dāng)于

c=c*a/=除法AND賦值操作符,它把左操作數(shù)與正確的操作數(shù),并將結(jié)果賦給左操作數(shù)c/=a

相當(dāng)于c=c/a%=模量AND賦值操作符,它需要使用兩個操作數(shù)的模量和分配結(jié)果左操作數(shù)c%=a相當(dāng)于c=c%a**=指數(shù)AND賦值運算符,執(zhí)行指數(shù)(功率)計算操作符和賦值給左操作數(shù)c**=a

相當(dāng)于

c=c**a//=取商,并分配一個值,執(zhí)行取商并將結(jié)果賦值給左操作數(shù)c//=a

相當(dāng)于

c=c//a賦值操作符常用操作運算符操作符描述示例&按位與運算符:參與運算的兩個值,如果兩個相應(yīng)位都為1,則該位的結(jié)果為1,否則為0。a&b輸出結(jié)果12。二進制值:00001100。|按位或運算符:只要對應(yīng)的二個二進位有一個為1時,結(jié)果位就為1。a|b輸出結(jié)果61。二進制值:00111101。^按位異或運算符:當(dāng)兩對應(yīng)的二進位相異時,結(jié)果為1。a^b輸出結(jié)果49。二進制值:00110001~按位取反運算符:對數(shù)據(jù)的每個二進制位取反,即把1變?yōu)?,把0變?yōu)?。~a輸出結(jié)果-61。二進制值:11000011。<<

左移動運算符:運算數(shù)的各二進位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。a<<2輸出結(jié)果240。二進制值:11110000。>>

右移動運算符:把“>>”左邊的運算數(shù)的各二進位全部右移若干位,“>>”右邊的數(shù)指定移動的位數(shù)。a>>2輸出結(jié)果15。二進制值:00001111。按位操作符常用操作運算符操作符描述示例and邏輯與運算符。當(dāng)且僅當(dāng)兩個操作數(shù)為真則返回真,否則返回假。TrueandFalse返回Falseor邏輯或運算符。當(dāng)且僅當(dāng)有兩個操作數(shù)至少一個為真則返回真,否則返回假TrueorFalse返回Truenot邏輯非運算符。用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。notTrue返回False邏輯操作符常用操作運算符操作符描述示例in如果在指定的序列中找到值返回True,否則返回False。xiny,x在y序列中,返回True。notin如果在指定的序列中沒有找到值返回

True,否則返回False。xnoty,x不在y序列中,返回True。成員操作符常用操作運算符操作符描述示例isis是判斷兩個標(biāo)識符是不是引用自一個對象。xisy,如果id(x)等于id(y),返回結(jié)果1。isnotisnot是判斷兩個標(biāo)識符是不是引用自不同對象。xisnoty,如果id(x)不等于id(y),返回結(jié)果1。身份操作符常用操作運算符運算符描述**指數(shù)(最高優(yōu)先級)~+-按位翻轉(zhuǎn),一元加號和減號(最后兩個的方法名為+@和-@)*/%//乘,除,取模和取整除+-加法減法>><<右移,左移運算符&位‘a(chǎn)nd’^位運算符<=<>>=比較運算符<>==!=等于運算符=%=/=//=-=+=*=**=賦值運算符is,isnot身份運算符in,notin成員運算符not,or,and邏輯運算符運算符優(yōu)先級比較PPT問題反饋:

/tj/840.jhtmlPython編程基礎(chǔ)2023/6/41Python數(shù)據(jù)結(jié)構(gòu)之列表目錄認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)2

Python數(shù)據(jù)結(jié)構(gòu)之元組3Python數(shù)據(jù)結(jié)構(gòu)之字典4Python數(shù)據(jù)結(jié)構(gòu)之集合5認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)Python中的絕大部分?jǐn)?shù)據(jù)結(jié)構(gòu)可以被最終分解為三種類型:集合(Set),序列(Sequence),映射(Mapping)。這表明了數(shù)據(jù)存儲時所需的基本單位,其重要性如同歐式幾何公理之于歐式空間。序列是Python中最為基礎(chǔ)的內(nèi)建類型。它分為七種類型:列表、字符串、元組、Unicode字符串、字節(jié)數(shù)組、緩沖區(qū)和xrange對象。常用的是:列表(List)、字符串(String)、元組(Tuple)。映射在Python的實現(xiàn)是數(shù)據(jù)結(jié)構(gòu)字典(Dictionary)。作為第三種基本單位,映射的靈活使得它在多種場合中都有廣泛的應(yīng)用和良好的可拓展性。集合是獨立于標(biāo)量,序列和映射之外的特殊數(shù)據(jù)結(jié)構(gòu),它支持?jǐn)?shù)學(xué)理論的各種集合的運算。它的存在使得用程序代碼實現(xiàn)數(shù)學(xué)理論變得方便。認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)Python有4個內(nèi)建的數(shù)據(jù)結(jié)構(gòu),它們可以統(tǒng)稱為容器(container),因為它們實際上是一些“東西”組合而成的結(jié)構(gòu),而這些“東西”,可以是數(shù)字、字符甚至列表,或是它們的組合。認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)列表(可變)元組(不可變)字符串(不可變)字典(不可變)集合(不可變)1.可變數(shù)據(jù)類型可以直接對數(shù)據(jù)結(jié)構(gòu)對象的內(nèi)容進行修改(并非是重新對對象賦值操作),即可以對數(shù)據(jù)結(jié)構(gòu)對象進行元素的賦值修改、刪除或增加等操作。由于可變數(shù)據(jù)類型對象能直接對自身進行修改,所以修改后的新結(jié)果仍與原對象引用同一個id地址值,即由始至終只對同一個對象進行了操作。2.不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型不同,不可變數(shù)據(jù)類型不能對數(shù)據(jù)結(jié)構(gòu)對象的內(nèi)容進行修改操作(對對象當(dāng)中的元素進行增加、刪除和賦值修改)。若需要對對象進行內(nèi)容修改,則需要對其變量名進行重新賦值,而賦值操作會把變量名指向一個新對象,新舊對象兩者是引用兩個不同的id地址值。1Python數(shù)據(jù)結(jié)構(gòu)之列表目錄認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)2

Python數(shù)據(jù)結(jié)構(gòu)之元組3Python數(shù)據(jù)結(jié)構(gòu)之字典4Python數(shù)據(jù)結(jié)構(gòu)之集合5Python數(shù)據(jù)結(jié)構(gòu)之列表基本操作all_list=[1,'word',{'like':'pythom'},True,[1,2]]all_list=list((1,'word',{'like':'pythom'},True,[1,2]))長度:len(all_list)計數(shù):all_list.count('word')下標(biāo):all_list.index('word')反轉(zhuǎn):all_list[::-1]或者all_list.reverse()合并:list1+list2重復(fù):all_list*3判斷元素是否存在:'word'inall_list切片與索引:all_list[0]all_list[-4]all_list[1:4]all_list[:3]1、列表中每個元素都是可變的;2、列表中的元素是有序的,每個元素對應(yīng)一個位置;3、列表可以容納Python中的任何對象。Python數(shù)據(jù)結(jié)構(gòu)之列表列表的增刪改查fruit=[1,'word',True,'pear']month=['January','February','March','April']增添fruit.append(‘July’)fruit.extend(month)fruit.insert(1,'grap')fruit.insert(-1,'apple')刪除fruit.remove('grape')fruit.remove(fruit[0])fruit.pop(2)delfruit[0:2]

fruit.clear()#清空1'word'True'pear'0123-4-3-2-1修改fruit[0]=('orange')fruit2=fruit.copy()查找fruit.index('pear')

fruit[3]Python數(shù)據(jù)結(jié)構(gòu)之列表函數(shù)名稱函數(shù)說明list.append(x)添加一個元素x到列表list的末尾。list.extend(L)將參數(shù)中的列表L添加到自身的列表list的末尾。list.insert(i,x)在下標(biāo)為i的位置前插入一個元素。list.remove(x)刪除列表第一個值為x的元素。如果沒有這樣的元素會報錯。list.pop(i)刪除列表指定位置的元素并返回它。如果不輸入這個參數(shù),將刪除并返回列表最后一個元素。list.count(x)統(tǒng)計元素x出現(xiàn)的次數(shù)。list.reverse()反轉(zhuǎn)列表中的元素。list.index(x)返回列表第一個值為x的元素的下標(biāo)。如果沒有這樣的元素會報錯。list(enumerate(list))將list列表中每個元素的下標(biāo)與對應(yīng)元素合成新元素(i,list[i])。print([ifori,xinenumerate(list)ifx==3])找出所有元素x為3的下標(biāo)。list.sort()對原列表進行排序,不能重新賦值。new_list=list.sorted()對原列表進行排序,可以重新賦值。列表內(nèi)建函數(shù)1Python數(shù)據(jù)結(jié)構(gòu)之列表目錄認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)2

Python數(shù)據(jù)結(jié)構(gòu)之元組3Python數(shù)據(jù)結(jié)構(gòu)之字典4Python數(shù)據(jù)結(jié)構(gòu)之集合5Python數(shù)據(jù)結(jié)構(gòu)之元組元組與列表和字符串一樣,是序列的一種。而元組與列表的唯一不同的元組不能修改,元組和字符串都具有不可變性。列表的可變性可能更方便處理復(fù)雜問題,例如更新動態(tài)數(shù)據(jù)等,但很多時候不希望某些處理過程修改對象內(nèi)容,例如敏感數(shù)據(jù),這就需要元組的不可變性。tup=

('Google',

'Runoob',

1997,

2000)tup1=

(50,)#元組中只包含一個元素時,要在元素后面添加逗號長度:len(tup)計數(shù):tup.count('Google')下標(biāo):tup.index('Google')反轉(zhuǎn):tup[::-1]合并:tup1+tup2重復(fù):tup*3判斷元素是否存在:'Google'intup切片與索引:tup[0]tup[1:4]tup[:3]元組解包:A,B,C,D=tup#將元組中各元素分別賦值給對應(yīng)變量Python數(shù)據(jù)結(jié)構(gòu)之元組元組內(nèi)建函數(shù)函數(shù)名稱函數(shù)說明tuple.count()記錄某個元素在元組中出現(xiàn)的次數(shù)。tuple.index()獲取元素在元組當(dāng)中第一次出現(xiàn)的位置索引。sorted()創(chuàng)建一個對元素進行排序后的列表。len()獲取元組長度,即元組元素個數(shù)。+將兩個元組合并為一個元組。*重復(fù)合并同一個元組為一個更長的元組。1Python數(shù)據(jù)結(jié)構(gòu)之列表目錄認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)2

Python數(shù)據(jù)結(jié)構(gòu)之元組3Python數(shù)據(jù)結(jié)構(gòu)之字典4Python數(shù)據(jù)結(jié)構(gòu)之集合5Python數(shù)據(jù)結(jié)構(gòu)之字典字典(Dictionary)是基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)映射(Mapping)的一種。序列是按照順序來存儲數(shù)據(jù)的,而字典是通過鍵存儲數(shù)據(jù)。字典的內(nèi)部實現(xiàn)是基于二叉樹(BinaryTree)的,數(shù)據(jù)沒有嚴(yán)格的順序。字典將鍵映射到值,通過鍵來調(diào)取數(shù)據(jù)。如果鍵值本來是有序的,那么我們不應(yīng)該使用字典,如映射:直接用列表[‘A’,’B’,’C’]即可,字典的效率比列表差得多。但是在很多情形下,字典比列表更加適用。比如我們手機的通訊錄(假設(shè)人名均不相同)可以使用字典實現(xiàn),把人的名字映射到一個電話號碼,由于名字是無序的,不能直接用一個列表實現(xiàn),使用字典直接高效。Python數(shù)據(jù)結(jié)構(gòu)之字典字典的增刪改查code={'BIDU':'Baidu','SINA':'Sina','YOKU':'Youku'}code=dict([('BIDU','Baidu'),('SINA','Sina'),('YOKU','Youku')])插入

code[‘QQ’]=‘tengxun’

code.update({'FB':'Facebook','TSLA':'Tesla'})刪除

delcode['FB']code_QQ=code.pop(‘QQ’)

code.clear()#清空修改(賦值)

code['YOJKU']='Yoku'查找

code['FB']映射在Python的實現(xiàn)是數(shù)據(jù)結(jié)構(gòu)字典1、鍵-值成對出現(xiàn);2、鍵不能重復(fù);3、鍵不可更改,值可修改;4、鍵來索引值。Python數(shù)據(jù)結(jié)構(gòu)之字典字典的常用操作

code={'BIDU':'Baidu','SINA':'Sina','YOKU':'Youku'}len()測量字典中,鍵值對的個數(shù)

len(code)keys返回一個包含字典所有KEY的列表 code.keys()values返回一個包含字典所有value的列表 code.values()items返回一個包含所有(鍵,值)元祖的列表 code.items()has_key code.has_key(key)如果key在字典中,返回True,否則返回False。1Python數(shù)據(jù)結(jié)構(gòu)之列表目錄認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)2

Python數(shù)據(jù)結(jié)構(gòu)之元組3Python數(shù)據(jù)結(jié)構(gòu)之字典4Python數(shù)據(jù)結(jié)構(gòu)之集合5Python數(shù)據(jù)結(jié)構(gòu)之集合Python有一種特殊的數(shù)據(jù)類型稱為集合。因為它既不是序列也不是映射類型,更不是標(biāo)量。集合是自成一體的類型。集合是唯一的,不可變的對象是一個無序集合。set1=

set([2,3,1,4,False,2.5,'one'])

set2={'A','C','D','B','A','B'}#創(chuàng)建可變集合set3=frozenset([3,2,3,‘one’,frozenset([1,2]),True])#創(chuàng)建不可變集合集合能夠通過表達(dá)式操作符支持一般的數(shù)學(xué)集合運算。這是集合特有的操作,序列和映射不支持這樣的表達(dá)式。Python數(shù)據(jù)結(jié)構(gòu)之集合集合的并集由屬于集合A或集合B的所有元素組成的集合,稱為集合A和B的并集,數(shù)學(xué)表達(dá)式為A∪B={x|x∈A或x∈B}。在Python中可以使用符號“|”或者集合方法union函數(shù)來得出兩個集合的并集。A={'足球','游泳','羽毛球','乒乓球'}B={'籃球','乒乓球','羽毛球','排球'}A|B#使用符號’|’獲取并集A.union(B)#使用集合方法union函數(shù)獲取并集Python數(shù)據(jù)結(jié)構(gòu)之集合集合的交集同時屬于集合A和B的元素組成的集合,稱為集合A和B的交集,數(shù)學(xué)表達(dá)式為A∩B={x|x∈A且x∈B}??梢岳梅枴?”或者集合方法intersection函數(shù)來獲取兩個集合對象的交集。A={'足球','游泳','羽毛球','乒乓球'}B={'籃球','乒乓球','羽毛球','排球'}A&B#使用符號’&’獲取交集A.intersection(B)#使用集合方法intersection函數(shù)獲取交集Python數(shù)據(jù)結(jié)構(gòu)之集合集合的差集屬于集合A而不屬于集合B中的元素所構(gòu)成的集合,稱為集合A減集合B,數(shù)學(xué)表達(dá)式為A-B={x|x∈A,x?B}。這個集合也稱為集合A與集合B的差集。反過來,也有差集B-A={x|x∈B,x?A}。在Python中可以簡單地使用減號“-”來得到相應(yīng)的差集,或者可以通過集合方法difference函數(shù)來實現(xiàn)。A={'足球','游泳','羽毛球','乒乓球'}B={'籃球','乒乓球','羽毛球','排球'}A-B#使用減號“-”來獲取差集>>>A.difference(B)#使用集合方法difference函數(shù)獲取差集Python數(shù)據(jù)結(jié)構(gòu)之集合集合的異或集屬于集合A或集合B,但不同時屬于集合A和B的元素所組成的集合,稱為集合A和B的異或集,其相當(dāng)(A∪B)-(A∩B)。利用符號“^”或者集合方法symmetric_difference函數(shù)即可求出兩個集合對象的異或集。A={'足球','游泳','羽毛球','乒乓球'}B={'籃球','乒乓球','羽毛球','排球'}A^B#獲取異或集A.symmetric_difference(B)#使用集合方法symmetric_difference函數(shù)獲取異或集Python數(shù)據(jù)結(jié)構(gòu)之集合函數(shù)名稱函數(shù)說明set.add(x)往集合插入元素xset1.update(set2)把集合set2的元素添加到set1set.remove(x)刪除集合中的元素xset.discard(x)刪除指定元素,但是如果集合中沒有的話就什么也不做set.pop()隨機刪除一個,并返回該值set.clear()清空set1.update(set2)把集合set2的元素添加到set1(元素可能重復(fù))set1.union(set2)set1和set2的并集(元素不重復(fù))ersection(set2)set1和set2的交集set1.difference(set2)set1和set2的差,兩個集合都不屬于set1.issuperset(set2)判斷set1是否是set2的超集set1.symmetric_difference(set2)set1和set2的對稱補集集合內(nèi)建函數(shù)PPT問題反饋:

/tj/840.jhtmlPython編程基礎(chǔ)2023/6/41循環(huán)目錄條件分支語句2

嵌套循環(huán)3列表解析4if布爾表達(dá)式1:

分支注意,每個條件后面要使用冒號(:),表示接下來是滿足條件后要執(zhí)行的語句塊。使用縮進來劃分語句塊,相同縮進數(shù)的語句在一起組成一個語句塊。if語句的基本結(jié)構(gòu)if語句實現(xiàn)條件分支,需要用到布爾表達(dá)式,格式如下。標(biāo)準(zhǔn)值False和None,數(shù)字0和所有空序列都為False,其余的單個對象都為True。在表達(dá)式運算的過程中,True會視為數(shù)值1,F(xiàn)alse會視為數(shù)值0,這與其他編程語言是相似的。邏輯表達(dá)式是布爾表達(dá)式的一種,邏輯表達(dá)式指的帶邏輯操作符或比較操作符(如>,==)的表達(dá)式。if語句的基本結(jié)構(gòu)布爾表達(dá)式滿足條件返回真>>>score=91>>>score>=90&score<=100True程序只對成績進行了一次判斷,條件滿足的時候,則返回真,打印的結(jié)果就是“本次考試:成績等級為A”。>>>score=91>>>ifscore>=90&score<=100:…print('本次考試,成績等級為:A')本次考試,成績等級為:Aif語句的基本結(jié)構(gòu)示例if布爾表達(dá)式1:

分支一elif布爾表達(dá)式2:

分支二else:

分支三多路分支if語句設(shè)置多路分支的一般格式如下。程序會先計算第一個布爾表達(dá)式,如果結(jié)果為真,則執(zhí)行第一個分支的所有語句;如果為假,則計算第二個布爾表達(dá)式;如果第二個布爾表達(dá)式結(jié)果為真,則執(zhí)行第二個分支的所有語句;如果結(jié)果仍然為假,則執(zhí)行第三個分支的所有語句。如果只有兩個分支,那么不需要elif,直接寫else即可,如果有更多的分支,那么需要添加更多的elif語句。Python中沒有switch和case語句,多路分支只能通過if-elif-else來實現(xiàn)。注意整個分支結(jié)構(gòu)中是有嚴(yán)格的退格縮進要求的。多路分支描述>>>score=59>>>ifscore<60:...print('考試不及格')>>>else:...print('考試及格')考試不及格多路分支示例1循環(huán)目錄條件分支語句2

嵌套循環(huán)3列表解析4到目前為止的程序都是一條一條語句順序進行,如果要讓程序重復(fù)地做一件事情,就只能重復(fù)地寫相同的代碼,操作比較繁瑣。此時需要掌握一個重要的方法——循環(huán)。使用循環(huán)在一定情況下可以使你的代碼運行效率更高。循環(huán)for循環(huán)在Python中是一個通用的序列迭代器,可以遍歷任何有序的序列,如字符串、列表、元組等。程序語言的學(xué)習(xí)是一個循環(huán)的過程,與其他學(xué)科不同,程序語言的知識是相互緊扣的。Python中的for語句接受可迭代對象,如序列和迭代器作為其參數(shù),每次循環(huán)調(diào)取其中一個元素。Python的for循環(huán)看上去像偽代碼,非常簡潔。for循環(huán)for循環(huán)示意圖for循環(huán)對字符串,列表的遍歷>>>forain['e','f','g']:... print(a)efg>>>forain'string':... print(a)stringfor循環(huán)示例while布爾表達(dá)式: 程序段while循環(huán)while循環(huán)也是最常用的循環(huán)之一,Python編程中while語句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。格式如下。只要布爾表達(dá)式為真,那么程序段將會被執(zhí)行,執(zhí)行完畢后,再次計算布爾表達(dá)式,如果結(jié)果仍然為真,那么再次執(zhí)行程序段,直至布爾表達(dá)式為假。while循環(huán)示意圖當(dāng)s的值小于等于一的時候打印出s,這里的結(jié)果就是循環(huán)到1,,一共打印了兩次計數(shù)。>>>s=0>>>while(s<=1):... print('計數(shù):',s)... s=s+1計數(shù):0計數(shù):1當(dāng)條件判斷語句即布爾表達(dá)式一直為真時,就會進行無限次循環(huán),無限循環(huán)可以使用CTRL+C來中斷循環(huán)。while循環(huán)示例Python要像C語言的格式進行循環(huán),實際上需要的是一個數(shù)字序列,range函數(shù)能夠快速構(gòu)造一個數(shù)字序列。例如range(5)或range(0,5)即為序列0,1,2,3,4。注意這里包括0,但不包括5。Python中foriinrange(5)的效果和C中for(i=0;i<5;i++)的效果是一樣的。range(a,b)能夠返回列表[a,a+1,…,b-1](注意不包含b),這樣for循環(huán)就可以從任意起點開始,任意終點結(jié)束。range函數(shù)經(jīng)常和len函數(shù)一起用于遍歷整個序列。len函數(shù)能夠返回一個序列的長度,foriinrange(len(L))能夠迭代整個列表L的元素的索引。直接使用for循環(huán)似乎也可以實現(xiàn)這個目的,但是直接使用for循環(huán)難以對序列進行修改(因為每次迭代調(diào)取的元素并不是序列元素的引用),而通過range函數(shù)和len函數(shù)可以快速通過索引訪問序列并對其進行修改。range函數(shù)>>>foriinrange(0,5):... print(i)#result:0,1,2,3,4>>>foriinrange(0,6,2):... print(i)0,2,4#相鄰元素的間隔為3range函數(shù)示例#直接使用for循環(huán)難以改變序列元素>>>L=[1,2,3]>>>forainL:... a+=1#a不是引用,L中對應(yīng)的元素沒有發(fā)生改變>>>print(L)[1,2,3]#range與len函數(shù)遍歷序列并修改元素>>>foriinrange(len(L)):... L[i]+=1#通過索引訪問>>>print(L)[2,3,4]range函數(shù)break語句的作用,就像在C語言中,打破了最小封閉for或while循環(huán)。break語句用來終止循環(huán)語句,即循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會停止執(zhí)行循環(huán)語句。br

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論