Python程序設(shè)計ppt課件完整版_第1頁
Python程序設(shè)計ppt課件完整版_第2頁
Python程序設(shè)計ppt課件完整版_第3頁
Python程序設(shè)計ppt課件完整版_第4頁
Python程序設(shè)計ppt課件完整版_第5頁
已閱讀5頁,還剩427頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、情境一 認識PythonPython程序設(shè)計Python想必大家都看到了,這兩年火的來你隨處都能看到它的身影。手機、電視、報紙、小區(qū)廣告牌,甚至小學(xué)生都開始學(xué)Python了。原因很簡單,Python應(yīng)用更廣泛了,還有相對來說入門更容易。然后就是Java,Java其實發(fā)展相對較晚,Java語言正式誕生其實是在1995年,到現(xiàn)在才二十幾年。隨著互聯(lián)網(wǎng)潮流的興起,Java可以說一路紅遍大江南北,包括web應(yīng)用、桌面應(yīng)用、安卓應(yīng)用等。直到物聯(lián)網(wǎng)的快速發(fā)展,C語言反超了Java。最后說下C語言,從發(fā)展年齡來說,C語言絕對是老大哥,1972年,C語言誕生了。因為C語言具有更高的運行效率(相對C#、JAVA

2、等),從而被廣泛應(yīng)用計算機底層驅(qū)動,包括現(xiàn)在絕大部分操作系統(tǒng)底層代碼都是 C 語言寫的。同時,因為物聯(lián)網(wǎng)很多終端設(shè)備從CPU運行速度(效率)、存儲資源來說,都比較依賴于C語言。隨著物聯(lián)網(wǎng)的快速發(fā)展,也進一步帶動了 C 語言的活躍了解了解掌握掌握 知識和能力目標(biāo)了解Python發(fā)展歷程、特點、應(yīng)用領(lǐng)域13掌握如何編寫程序掌握PyCharm編寫簡單Python程序python程序示例42了解Python開發(fā)環(huán)境的配置了解Python2022/7/1023. Python可以做些什么4. Python的優(yōu)點5. Python和其他語言的比較 1. Python的發(fā)展歷程2. 為什么使用Python2

3、022/7/101.Python的發(fā)展歷程Python是一種簡單易學(xué),功能強大的編程語言。它有高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡單、有效地實現(xiàn)面向?qū)ο缶幊?。Python語法簡單,支持動態(tài)輸入,是解釋型語言。在大多數(shù)平臺上,對于眾多領(lǐng)域,Python都是一個理想的開發(fā)語言,特別適合于應(yīng)用程序的快速開發(fā)。2022/7/101.Python的發(fā)展歷程目前Guido van Rossum在Google工作,后來到Dropbox公司工作,主要從事GAE/Python3.x方面的研究。創(chuàng)始人: Guido van Rossum吉多時間地點: 1989年圣誕節(jié)期間在阿姆斯特丹 創(chuàng)造名字來源: 大蟒蛇飛行馬戲團的愛

4、好者,來自英國肥皂劇Monty Python飛行馬戲團。Guido當(dāng)初之所以選中Python作為語言的名字,是因為他太喜歡這部肥皂劇了。淵源: 從ABC發(fā)展而來 主要受Modula-3的影響 結(jié)合了Unix shell和C的習(xí)慣2022/7/101.Python的發(fā)展歷程Python面世Python 2.0于2000年10月16日發(fā)布,主要實現(xiàn)了完整的垃圾回收,并且支持Unicode。Python 3.0于2008年12月3日發(fā)布,此版不完完全兼容之前的Python源代碼。目前使用最廣泛的版本是Python 3.8,最新的版本是Python 3.92022/7/101.Python的發(fā)展歷程P

5、ython的設(shè)計哲學(xué):01簡單03優(yōu)雅02明確Python開發(fā)者的哲學(xué):“用一種方法,最好是只有一種方法來做一件事”。在設(shè)計Python語言時,如果面臨多種選擇,Python開發(fā)者總會拒絕花哨的語法,而選擇明確的沒有或者很少有歧義的語法。2022/7/102. 為什么使用Python開源 Packt Publishing是世界上關(guān)于編程方面最大的出版商,它在2018年對11000名訪客進行了調(diào)查,調(diào)查內(nèi)容包括開發(fā)者使用的編程語言、喜歡的框架、薪酬信息等幾個方面。調(diào)查顯示,Python和JavaScript是當(dāng)今最流行的編程語言,而Java緊隨其后,排名第三。2022/7/103. Python

6、可以做些什么桌面GUI軟件開發(fā)(wxPython, PyQT)網(wǎng)絡(luò)應(yīng)用開發(fā)(內(nèi)置模塊, Twistd, Stackless)2/3D圖形處理,游戲開發(fā) (PIL, pyGame)文檔處理,科學(xué)計算(moinmoin, numpy)Web應(yīng)用開發(fā)(Flask, Django,Z,OPEQuixote)移動設(shè)備應(yīng)用開發(fā)(PyS60)數(shù)據(jù)庫開發(fā)(支持SQL和NOSQL, ZODB)嵌入其它應(yīng)用(嵌入C/C+, delphi, 調(diào)用DLL)3.1運用領(lǐng)域2022/7/103. Python可以做些什么3.2 誰在用Python典型幾個國外公司:2022/7/103. Python可以做些什么典型幾個國

7、內(nèi)公司:3.2 誰在用Python2022/7/1024. Python的優(yōu)點免費 Python的使用和分發(fā)是完全免費的??缮?Python提供了基本的開發(fā)模塊,你可以在它上面 開發(fā)你的軟件,而且當(dāng)這些需要擴展和增長時,Python的可 插入性和模塊化結(jié)構(gòu)能使你的項目生機盎然并易于管理。解釋性 Python編寫的程序無需編譯,可直接從源代碼運 行程序。易維護 幾個月后閱讀自己的代碼,不會云里霧里??梢浦残?由于它的開源本質(zhì),Python已經(jīng)被移植在許多 平臺上。2022/7/10面向?qū)ο?Python即支持面向過程的編程也支持面向?qū)ο?的編程。在“面向過程”的語言中,程序是由過程或僅僅是可

8、重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο蟆钡恼Z言中,程序 是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。面向服務(wù)豐富的庫 Python標(biāo)準(zhǔn)庫龐大??蓭椭幚砀鞣N工作,包 括正則表達式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁 瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、 WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他 與系統(tǒng)有關(guān)的操作 import include4. Python的優(yōu)點Python的特點簡單易學(xué)開源高級語言可移植性解釋性面向?qū)ο罂蓴U展豐富的庫規(guī)范的代碼9大特點2022/7/105. Python和其他語言的比較Python VS C:Python是動態(tài)

9、編譯語言,C 是靜態(tài)編輯語言 。C中內(nèi)容管理是由開發(fā)者管理,Python中內(nèi)存問題由Python解 釋器負責(zé)。Python 自帶數(shù)據(jù)類型支持庫。C中對于混雜數(shù)組(Python中 得列表)和哈希表(Python中得字典)還未存在標(biāo)準(zhǔn)庫。Python 不能用來寫內(nèi)核。借助Python語言提供的API,使用C或者C+來對Python進行 功能性擴展。2022/7/10Python VS Java : Python支持面向?qū)ο?函數(shù)編程方式。java支持面向?qū)ο蟆?Python比Java要簡單,非常適合與構(gòu)造快速原型。 Python和Java 適合多名程序員以漸進方式協(xié)同開發(fā)大型項目。5. Pytho

10、n和其他語言的比較Window安裝Python(1)訪問/download/。 選擇安裝包。Window安裝Python(2)下載并完成Python的安裝。Window安裝Python(3)配置環(huán)境變量。Window安裝Python(4)環(huán)境變量配置成功Window安裝Python(5)下載pip。下載網(wǎng)站:/pypi/pip#downloads。Window安裝Python(6)解壓文件后,在Path最后面添加Scripts文件路徑。再次打開控制臺,輸入pip list,出現(xiàn)下列信息表示pip安裝成功。Pycharm的下載安裝(1)訪問PyCharm官方進入Pycharm的下載頁面。 Pyc

11、harm的下載安裝(2)雙擊exe下載文件,開始安裝。Pycharm的使用完成PyCharm的安裝后,就可以打開并使用PyCharm了。 Pycharm的使用1. 創(chuàng)建項目Pycharm的使用2. 創(chuàng)建Python文件開發(fā)環(huán)境安裝及配置 方法1:命令行式運行Python。開發(fā)環(huán)境安裝及配置 方法2:調(diào)用IDLE來啟動Python圖形化運行環(huán)境開發(fā)環(huán)境安裝及配置 方法3:使用Pycharm編譯器來運行python程序任務(wù)二 python的基礎(chǔ)語法知識能力目標(biāo)1、掌握輸出函數(shù)2、掌握輸入函數(shù)3、了解python的運算符程序示例01示例程序:求兩個整數(shù)的和與平均值問題:由用戶任意輸入兩個整數(shù),求這兩

12、個數(shù)的和以及平均值是多少。 Step 1:獲取數(shù)據(jù) Step 2:計算和與平均值 Step 3:輸出結(jié)果 Step 1:從鍵盤輸入兩個整數(shù)m和n Step 2:sum = m + n avg = (m + n)/ 2 Step 3:輸出sum和avg示例程序:求兩個整數(shù)的和與平均值問題:由用戶任意輸入兩個整數(shù),求這兩個數(shù)的和以及平均值是多少。m = eval(input(輸入第一個整數(shù):)n = eval(input(輸入第二個整數(shù):)sum = m + n # 求和avg = (m + n) / 2 # 求平均print(和為:, sum)print(平均值為:, avg)示例程序:求兩個整

13、數(shù)的和與平均值Python程序的書寫規(guī)則如下:1)使用換行符分隔,一般情況下,一行一條語句。2)從第一列開始,前面不能有任何空格,否則會產(chǎn)生語法錯誤。3)以# 開始的語句是注釋語句。4)在Python程序中所有的語法符號,都必須在英文輸入法下輸入,字符串中的符號除外。5)在Python中代碼的縮進非常重要,具體將在第三章中介紹。m = eval(input(輸入第一個整數(shù):)n = eval(input(輸入第二個整數(shù):)sum = m + n # 求和avg = (m + n) / 2 # 求平均print(和為:, sum)print(平均值為:, avg)標(biāo)識符及命名規(guī)則02標(biāo)識符及命名

14、規(guī)則Python對標(biāo)識符的構(gòu)成是有要求的:每個標(biāo)識符必須以字母或下劃線“_”開頭,后跟字母、數(shù)字或下劃線的任意序列。根據(jù)這個規(guī)則,以下都是Python中的合法名稱:x,num,num_1,numEggs,python123;而2x,a-b,num Eggs都是不合法的。在Python中,標(biāo)識符區(qū)分大小寫。標(biāo)識符及命名規(guī)則有一些標(biāo)識符是Python本身的一部分,這些特殊的標(biāo)識符被稱為“關(guān)鍵字”或者是“保留字”,它們不能像普通標(biāo)識符那樣使用。Python關(guān)鍵字的完整列表可以用以下方式查看:變量與賦值語句03變量與賦值語句Python是動態(tài)類型語言,即變量不需要顯式聲明數(shù)據(jù)類型。根據(jù)變量的賦值,Py

15、thon解釋器會自動確定其數(shù)據(jù)類型。通過內(nèi)置的type()函數(shù),可以判斷一個對象指向的數(shù)據(jù)類型。變量與賦值語句m整數(shù)對象2m整數(shù)對象2實數(shù)對象2.6執(zhí)行語句m = 2,解釋器創(chuàng)建了整數(shù)對象2和變量m,并把m指向整數(shù)對象2。接著執(zhí)行m = 2.6,解釋器創(chuàng)建了實數(shù)對象2.6,并把m指向?qū)崝?shù)對象2.6。因此m的類型取決于它所指向的數(shù)據(jù)的類型變量與賦值語句變量的賦值賦值就是用一個變量來標(biāo)識某個對象,其語法格式如下:變量 = 表達式最簡單的表達式就是一個字面量,例如:x = 100,即表示用變量x來標(biāo)識一個整數(shù)對象100,x為這個整數(shù)對象的引用。表達式也可以復(fù)雜一點,例如:x = (100-20)/2

16、,這時Python會先求表達式的值,然后返回表達式結(jié)果對象,并用變量來引用該對象。Python中變量在訪問之前,必須先綁定某個對象,也就是先賦值,否則會報錯。變量與賦值語句Python中變量在訪問之前,必須先綁定某個對象,也就是先賦值,否則會報錯。在示例中顯示,x和str兩個變量都可以正常使用。當(dāng)試圖輸出y的時候,系統(tǒng)會報錯,因為y變量未賦值,因此不能直接使用。變量與賦值語句鏈?zhǔn)劫x值用于為多個變量同時賦值相同值。這里的x = y = z = 200等價于x = 200、y = 200、z = 200三條語句。變量與賦值語句解包賦值語句Python支持將序列數(shù)據(jù)類型解包為對應(yīng)相同個數(shù)的變量。變量

17、的個數(shù)必須與序列的元素個數(shù)一致,否則會產(chǎn)生錯誤。變量與賦值語句解包賦值語句利用解包賦值實現(xiàn)兩個變量值的交換數(shù)據(jù)的輸入與輸出04數(shù)據(jù)的輸入與輸出輸入語句input如果需要將用戶輸入的數(shù)據(jù)用一個變量來標(biāo)識,可以使用如下的語句形式:變量 = input ( 提示字符串 )需要記住的是,這種形式的input語句只能得到文本(字符串),如果希望得到一個數(shù)字,我們需要將輸入的數(shù)據(jù)做一些處理。數(shù)據(jù)的輸入與輸出輸入語句input如果希望輸入一個數(shù)字,必須用eval函數(shù)解析輸入數(shù)據(jù)。數(shù)據(jù)的輸入與輸出輸入語句input變量 = eval ( input ( 提示字符串 ) )我們添加了一個內(nèi)置的函數(shù)eval(),

18、它“包裹”了input函數(shù)。在這種形式中,用戶輸入的字符串被解析為表達式以求值。數(shù)據(jù)的輸入與輸出輸出語句printprint語句以文本形式顯示信息,所有提供的表達式都從左到右求值,結(jié)果值以從左到右的方式顯示在輸出行上。默認情況下,在顯示值之間放置一個空格字符。什么參數(shù)都沒有的print輸出一個空行數(shù)據(jù)的輸入與輸出輸出語句print默認情況下,print輸出完所有提供的表達式之后,會自動的換行,如果希望print輸出完數(shù)據(jù)后不換行我們可以采用如下形式:請注意,這是在文件方式下運行,end=“”,表示print輸出完數(shù)據(jù)后不加任何字符,包括換行符。數(shù) 值05數(shù)值數(shù)值類型數(shù)據(jù)整數(shù)類型(int)是表示

19、整數(shù)的數(shù)據(jù)類型。與其他計算機語言有精度限制不同,Python中的整數(shù)位數(shù)可以為任意長度(只受限制于計算機內(nèi)存)。整型對象是不可變對象。浮點類型(float)是表示實數(shù)的數(shù)據(jù)類型。與其他計算機語言的雙精度(double)和單精度(float)對應(yīng),Python中的浮點類型精度與系統(tǒng)相關(guān)。數(shù)值內(nèi)置數(shù)值操作運算符描述實例結(jié)果備注+加法3 + 4.57.5-減法12 4.87.2*乘法2 * 5.010.0/實數(shù)除法10 / 42.5/整數(shù)除法10 / 42采用向下取整方式,-10 / 4 = -3%取余10 % 31操作數(shù)可以為實數(shù),3.5 % 3 = 0.5*乘方2 * 38操作數(shù)可以為實數(shù),4.

20、0 * 0.5 = 2.0數(shù)值內(nèi)置數(shù)值操作在這里要注意的是:在乘法運算中,“*”不可以省略,在書寫表達式的時候要和數(shù)學(xué)中的寫法相區(qū)別。例如語句:m = 4ab,必須寫成:m = 4*a*b。Python中的除法有兩種,一種是單斜杠(/)表示實數(shù)除法,另一種是雙斜杠(/),表示整除,它會對除后的結(jié)果進行取整操作。數(shù)值問題:需要找錢給用戶,現(xiàn)在只有50元,5元和1元的人民幣若干張。輸入一個整數(shù)金 額值,給出找錢的方案,假設(shè)人民幣足夠多,且優(yōu)先使用面額大的錢幣。money = eval(input(輸入金額:)m50 = money / 50 # 計算需要的50元面額的紙幣數(shù)量money = mon

21、ey % 50 # 使用50元面額錢幣后剩下的金額m5 = money / 5 money = money % 5m1 = moneyprint(50元面額需要的張數(shù):, m50)print(5元面額需要的張數(shù):, m5)print(1元面額需要的張數(shù):, m1)數(shù)值復(fù)合賦值運算符所有二元運算符(+、-、*、/、/、%、*)都可以跟賦值運算符結(jié)合在一起,形成復(fù)合賦值運算符(+=、-=、*=、/=、/=、%=、*=),復(fù)合賦值運算符中間不可有空格。若a和b為操作數(shù),則a += b,等價于a = a + b;a *= b,等價于a = a*b 數(shù)值內(nèi)置數(shù)值函數(shù)函數(shù)描述abs(x)求x的絕對值div

22、mod(x,y)輸出(x/y, x%y)pow(x,y,z)(x*y)%z, 表示可選參數(shù),當(dāng)z省略的時候,等價于x*yround(x,ndigits)對x四舍五入操作,保留ndigits位小數(shù),當(dāng)ndigits省略的時候,返回x四舍五入后的整數(shù)值max(x1,x2,xn)返回x1,x2,xn中的最大值min(x1,x2,xn)返回x1,x2,xn中的最小值數(shù)值內(nèi)置數(shù)值函數(shù)函數(shù)描述abs(x)求x的絕對值divmod(x,y)輸出(x/y, x%y)pow(x,y,z)(x*y)%z, 表示可選參數(shù),當(dāng)z省略的時候,等價于x*yround(x,ndigits)對x四舍五入操作,保留ndigit

23、s位小數(shù),當(dāng)ndigits省略的時候,返回x四舍五入后的整數(shù)值max(x1,x2,xn)返回x1,x2,xn中的最大值min(x1,x2,xn)返回x1,x2,xn中的最小值數(shù)值使用math庫Python數(shù)學(xué)計算的標(biāo)準(zhǔn)函數(shù)庫math,提供了4個數(shù)學(xué)常數(shù)和44個函數(shù)。math庫不支持復(fù)數(shù)類型,僅支持整數(shù)和浮點數(shù)運算。math庫中的常數(shù)和函數(shù)不能直接使用,需要用關(guān)鍵字import引用后才可使用。數(shù)值使用math庫引用math庫有兩種方式:方式1:import math 方式2:from math import 我們使用math庫中的pi常數(shù),在方式1中,pi常數(shù)前需要寫上庫名,即“math.”。在

24、方式2中,我們用import直接引用了math中的常數(shù)pi,因此在使用pi時,前面不需要再加上庫名。數(shù)值使用math庫引用math庫有兩種方式:方式1:import math 方式2:from math import 方式2 還有一種寫法是:from math import *。如果采用這樣的方式引入math庫,則庫中的所有常數(shù)和函數(shù)都可以直接使用,前面不需要加上“math.”。數(shù)值使用math庫( math庫中的數(shù)學(xué)常數(shù))常數(shù)數(shù)學(xué)形式描述pi圓周率,值為3.141592653589793ee自然對數(shù),值為2.718281828459045inf正無窮大,負無窮大為-infnan非浮點數(shù)標(biāo)記,

25、Not a Number 數(shù)值使用math庫( math庫中的部分數(shù)值函數(shù))函數(shù)數(shù)學(xué)形式描述fabs(x)返回x的絕對值fmod(x,y)x % y返回x和y的余數(shù)fsum(x,y,)x+y+浮點數(shù)精確求和gcd(a,b)返回x和y的最大公約數(shù),a和b為整數(shù)trunc(x)返回x的整數(shù)部分modf(x)返回x的小數(shù)和整數(shù)部分ceil(x)向上取整,返回不小于x的最小整數(shù)floor(x)向下取整,返回不大于x的最大整數(shù)factorial(a)x!返回a的階乘,a為整數(shù)數(shù)值math庫中的部分數(shù)值函數(shù)使用示例:數(shù)值使用math庫( math庫中的部分冪對數(shù)與三角函數(shù)1)函數(shù)數(shù)學(xué)形式描述pow(x,y

26、)xy返回x的y次冪exp(x)ex返回e的x次冪,e為自然對數(shù)sqrt(x)返回x的平方根log(x,base)log2(x)返回x的2對數(shù)值log10(x)返回x的10對數(shù)值degrees(x)x為弧度制,返回x對應(yīng)的角度值radians(x)x為角度制,返回x對應(yīng)的弧度值hypot(x,y)返回(x,y)坐標(biāo)到原點(0,0)的距離數(shù)值使用math庫( math庫中的部分冪對數(shù)與三角函數(shù)2)函數(shù)數(shù)學(xué)形式描述sin(x)返回x的正弦函數(shù)值,x為弧度值cos(x)返回x的余弦函數(shù)值,x為弧度值tan(x)返回x的正切函數(shù)值,x為弧度值asin(x)返回x的反正弦函數(shù)值,x為弧度值acos(x)

27、返回x的反余弦函數(shù)值,x為弧度值atan(x)返回x的反正切弦函數(shù)值,x為弧度值數(shù)值math庫中的部分冪對數(shù)與三角函數(shù)使用示例:字 符 串06字符串字符串?dāng)?shù)據(jù)類型:使用單引號或雙引號括起來的內(nèi)容,稱為字符串類型數(shù)據(jù)(str),可以使用以下4種方式定義。單引號(),其中可以包含雙引號。雙引號(”),其中可以包含單引號。三單引號( ),其中可以包含單引號和雙引號,可以跨行。三雙引號(” ” ),其中可以包含單引號和雙引號,可以跨行。字符串字符串?dāng)?shù)據(jù)類型:字符串字符串?dāng)?shù)據(jù)類型:name = input(姓名:)country = input(國家:)s = 世界那么大, + name + 想去 +

28、country + 看看print(s)+實現(xiàn)字符串的拼接字符串字符串的索引與切片Python中字符串包括兩種序號體系:正向遞增序號和反向遞減序號。正向遞增序號反向遞減序號0123456789101112人生苦短,我學(xué)Python-13-12-11-10-9-8-7-6-5-4-3-2-1字符串字符串的索引與切片0123456789HelloMike-10-9-8-7-6-5-4-3-2-1字符串字符串的索引與切片Python中字符串也提供區(qū)間訪問方式,采用頭下標(biāo):尾下標(biāo)的方式,這種訪問方式稱為“切片”。若有字符串s,s頭下標(biāo):尾下標(biāo)表示在字符串s中取索引值從頭下標(biāo)到尾下標(biāo)(不包含尾下標(biāo))的子

29、字符串。切片方式中,若頭下標(biāo)缺省,表示從開始取子串;若尾下標(biāo)缺省,表示取到最后一個字符;若頭下標(biāo)和尾下標(biāo)均缺省,則取整個字符串。字符串字符串的索引與切片0123456789HelloMike-10-9-8-7-6-5-4-3-2-1字符串字符串的索引與切片字符串切片還可以設(shè)置取子串的順序,只需要再增加一個參數(shù)即可,把頭下標(biāo):尾下標(biāo)變成頭下標(biāo):尾下標(biāo):步長。當(dāng)步長值大于0的時候,表示從左向右取字符;當(dāng)步長值小于0的時候,表示從右向左取字符。步長的絕對值減1,表示每次取字符的間隔是多少。字符串字符串的索引與切片0123456789helloMike-10-9-8-7-6-5-4-3-2-1s0:5

30、:1 正向取s0:6:2 正向取,間隔一個字符取s0:6:-1 反向取,但是頭下標(biāo)小于尾下標(biāo)無法反向取,因此輸出為空s4:0:-1 反向取,索引值為0的字符無法取到s4:-1 反向取,從索引值為4的字符依次取到開頭字符s:-1 反向取整串s:-3 反向取,間隔兩個字符取字符串字符串的索引與切片問題:輸入一個1-12的整數(shù),輸出對應(yīng)的月份名稱縮寫??梢岳米址那衅僮鱽砬擅畹慕鉀Q這個問題。我們的基本思想是將所有的月份名稱縮寫存儲在一個大的字符串中。months = “JanFebMarAprMayJunJulAugSepOctNovDec”這樣可以通過切出適當(dāng)?shù)淖幼址畞聿檎姨囟ǖ脑路?,關(guān)鍵

31、是應(yīng)該在哪里切片呢?字符串字符串的索引與切片問題:輸入一個1-12的整數(shù),輸出對應(yīng)的月份名稱縮寫。由于每個月的名稱縮寫都由三個字母組成,如果知道一個給定月份在字符串中開始的位置,就可以很容易地提取月份名稱縮寫。monthAbbrev = monthspos:pos+3這將獲得從pos指示位置開始的長度為3的子串。那么如何計算這個pos呢?字符串字符串的索引與切片問題:輸入一個1-12的整數(shù),輸出對應(yīng)的月份名稱縮寫。輸入的整數(shù)m月份名稱縮寫切片的起始位置pos1Jan02Feb33Mar6月份名稱縮寫與切片起始位置的關(guān)系從表中數(shù)據(jù)可以看出切片的起始位置pos = (m-1)*3,接下來我們就可以

32、開始編碼了。字符串字符串的索引與切片問題:輸入一個1-12的整數(shù),輸出對應(yīng)的月份名稱縮寫。m = int(input(輸入0-12的整數(shù):)months = JanFebMarAprMayJunJulAugSepOctNovDecpos = ( m - 1 ) * 3print(monthspos:pos+3)字符串內(nèi)置的字符串運算符運算符描述+字符串拼接,例如“AB”+“123”結(jié)果為“AB123”*字符串復(fù)制,例如“Tom”*3,結(jié)果為“TomTomTom”in判斷是否為子串,例如“H” in “Hello”結(jié)果為True;“h” in “Hello”結(jié)果為False字符串內(nèi)置的字符串處理

33、函數(shù)函數(shù)描述len(x)返回字符串x的長度str(x)將任意類型x所轉(zhuǎn)換為字符串類型chr(x)返回Unicode編碼為x的字符ord(x)返回字符x的Unicode編碼值hex(x)將整數(shù)x轉(zhuǎn)換為十六進制數(shù),并返回其小寫字符串形式oct(x)將整數(shù)x轉(zhuǎn)換為八進制數(shù),并返回其小寫字符串形式字符串內(nèi)置的字符串處理函數(shù)函數(shù)描述len(x)返回字符串x的長度str(x)將任意類型x所轉(zhuǎn)換為字符串類型chr(x)返回Unicode編碼為x的字符ord(x)返回字符x的Unicode編碼值hex(x)將整數(shù)x轉(zhuǎn)換為十六進制數(shù),并返回其小寫字符串形式oct(x)將整數(shù)x轉(zhuǎn)換為八進制數(shù),并返回其小寫字符串形

34、式字符串內(nèi)置的字符串處理函數(shù)Python中字符使用的是Unicode編碼標(biāo)準(zhǔn),函數(shù)chr()和ord()可以實現(xiàn)編碼與字符之間的轉(zhuǎn)換。字符串內(nèi)置的字符串處理函數(shù)觀察輸出結(jié)果:大寫字母,小寫字母和數(shù)字字符的Unicode編碼都是順序排列的,例如a的編碼為97,b的編碼為98,可以推出d的編碼為100。小寫字母的Unicode編碼整體大于大寫字母的Unicode編碼,大寫字母的Unicode編碼整體大于數(shù)字字符的Unicode編碼。字符串內(nèi)置的字符串處理方法Python對字符串對象提供了大量的內(nèi)置方法用于字符串的檢測、替換和排版等操作。使用時需要注意的是,字符串對象是不可變的,所以字符串對象提供的

35、涉及字符串“修改”的方法都是返回修改之后的新字符串,并不對原字符串做任何修改。字符串內(nèi)置的字符串處理方法字符串查找類方法:find()、rfind()、index()、rindex()、count()find()和rfind()方法分別用來查找一個字符串在另一個字符串指定范圍(默認是整個字符串)中首次和最后一次出現(xiàn)的位置,如果不存在則返回-1。index()和rindex()方法分別用來查找一個字符串在另一個字符串指定范圍(默認是整個字符串)中首次和最后一次出現(xiàn)的位置,如果不存在則拋出異常。count()方法用來返回一個字符串在另一個字符串中出現(xiàn)的次數(shù),如果不存在則返回0。字符串內(nèi)置的字符串處

36、理方法字符串查找類方法:find()、rfind()、index()、rindex()、count()字符串內(nèi)置的字符串處理方法字符串分隔類方法:split()、rsplit()、partition()、rpartition()split()和rsplit()方法分別用來以指定字符為分隔符,從原字符串左端和右端開始將其分隔成多個字符串,并返回包含分隔結(jié)果的列表(列表將在后續(xù)章節(jié)中介紹)。默認按空白符號分隔字符串,如空格,換行符,制表符等.字符串內(nèi)置的字符串處理方法字符串連接方法:join()字符串的join()方法用來將列表中多個字符串進行連接,并在相鄰兩個字符串之間插入指定字符,返回新字符串

37、。字符串內(nèi)置的字符串處理方法大小寫字符轉(zhuǎn)換方法:lower()、upper()、capitalize()、title()、swapcase()字符串內(nèi)置的字符串處理方法字符串替換方法:replace()replace()方法用來替換字符串中指定字符或子字符串,每次只能替換一個字符或子串,類似于Word,記事本等文本編輯器的查找和替換功能。該方法不修改原字符串,而是返回一個新字符串。字符串內(nèi)置的字符串處理方法刪除字符串兩端,右端或左端連續(xù)空白字符和指定字符方法:strip()、rstrip()、lstrip()字符串內(nèi)置的字符串處理方法判斷字符串是否以指定字符開始或結(jié)束方法:startswith

38、()、endswith()字符串內(nèi)置的字符串處理方法判斷字符串類型方法: isupper()、islower()字符串內(nèi)置的字符串處理方法字符串排版方法:center()、ljust()、rjust()、zfill()字符串format格式化方法從Python2.6 開始,新增了一種格式化字符串的方法 str.format(),它增強了字符串格式化的功能,基本語法是通過“”和“:”來代替以前的“%”。format方法可以有多個輸出項,位置可以按指定順序。字符串format格式化方法format方法的默認順序和指定順序使用示例字符串format格式化方法設(shè)置項可選值“*”,“=”,“-”等,但只

39、能是一個字符,默認為空格。(居中), (右對齊)。一個整數(shù),指格式化后整個字符串的字符個數(shù)。當(dāng)使用format方法格式化字符串的時候,需要在“”中首先輸入“:”。“:”稱為格式引導(dǎo)符。“:”之后分別設(shè)置 。字符串format格式化方法強制轉(zhuǎn)換07強制轉(zhuǎn)換強制類型轉(zhuǎn)化是將表達式強制轉(zhuǎn)換為所需的數(shù)據(jù)類型。強制轉(zhuǎn)換強制類型轉(zhuǎn)化是將表達式強制轉(zhuǎn)換為所需的數(shù)據(jù)類型。在input輸入中可以使用int或者float來代替eval情境三 Python基本結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)語句 break語句 continue語句了解了解掌握掌握 學(xué)習(xí)和能力目標(biāo)if選擇結(jié)構(gòu)的使用12掌握選擇結(jié)構(gòu)中and和or的使用(重點)3

40、if語句的基本語法格式掌握if語句的嵌套使用(難點)掌握了解掌握掌握 學(xué)習(xí)和能力目標(biāo)12掌握for循環(huán)的使用(重點)掌握Python中循環(huán)的嵌套(難點)34了解break,continue的使用掌握while循環(huán)的使用循環(huán)結(jié)構(gòu)的使用過渡頁01 判斷語句02 循環(huán)語句03 Python的其他語句01 判斷語句判斷語句紅燈停,綠燈行現(xiàn)實生活中,過馬路要看紅綠燈,如果是綠燈才能過馬路,否則需要停止等待。if 語句 if 判斷條件: 滿足條件時要做的事情1 滿足條件時要做的事情2 .(省略). 滿足條件時要做的事情nif語句是最簡單的條件判斷語句,它可以控制程序的執(zhí)行流程。 if-else語句 if

41、條件: 滿足條件時要做的事情1 滿足條件時要做的事情2 .(省略). 滿足條件時要做的事情3 else: 不滿足條件時要做的事情1 不滿足條件時要做的事情2 .(省略). 不滿足條件時要做的事情nif-elif語句 if 判斷條件1: 滿足條件1時要做的事情elif 判斷條件2: 滿足條件2時要做的事情elif 判斷條件3: 滿足條件3時要做的事情當(dāng)滿足判斷條件1時,執(zhí)行滿足條件1時要做的事情,然后整個if結(jié)束;如果不滿足判斷條件1,那么判斷是都滿足條件2,如果滿足判斷條件2,就執(zhí)行滿足條件2時要做的事情,然后整個if結(jié)束當(dāng)不滿足判斷條件1和判斷條件2,如果滿足判斷條件3,則執(zhí)行滿足判斷條件3

42、時要做的事情,然后整個if結(jié)束。if-elif判斷語句,該語句可以判斷多種情況。 if嵌套購票檢票上車安檢if嵌套指的是在if或者if-else語句里面包含if或者if-else。if嵌套 if 條件1: 滿足條件1 做的事情1 滿足條件1 做的事情2 .(省略). if 條件2: 滿足條件2 做的事情1 滿足條件2 做的事情2 .(省略).過渡頁01 判斷語句02 循環(huán)語句03 Python的其他語句02 循環(huán)語句循環(huán)語句跑 道跑道是一圈一圈的,可以看做是循環(huán)的while循環(huán)while 條件表達式: 條件滿足,執(zhí)行循環(huán)語句while循環(huán)語法格式條件表達式永遠為true,無限循環(huán)。for循環(huán)P

43、ython中的for循環(huán)可以遍歷任何序列的項目:for 變量 in 序列: 循環(huán)語句語法格式for i in 0,1,2: print(i)例如:for循環(huán)考慮到我們使用的數(shù)值范圍經(jīng)常變化,Python提供了一個內(nèi)置range()函數(shù),它可以生成一個數(shù)字序列。語法格式for i in range(start,end): 執(zhí)行循環(huán)語句程序在執(zhí)行for循環(huán)時:循環(huán)計時器變量i被設(shè)置為start;執(zhí)行循環(huán)語句;i遞增每設(shè)置一個新值都會執(zhí)行一次循環(huán)當(dāng)i等于end時,循環(huán)結(jié)束。while嵌套while嵌套指的是while循環(huán)里面還包含while循環(huán)。 while 條件1: 條件1滿足時,做的事情1 條件

44、1滿足時,做的事情2 條件1滿足時,做的事情3 .(省略). while 條件2: 條件2滿足時,做的事情1 條件2滿足時,做的事情2 條件2滿足時,做的事情3 .(省略).過渡頁01 判斷語句02 循環(huán)語句03 Python的其他語句03 Python的其他語句break語句break語句用于結(jié)束整個循環(huán)。 i=1for i in range(5): i+=1 print(-) if i=3: break print(i) for i in range(5): print(-) print i這兩個結(jié)果有什么不同?continue語句continue的作用是用來結(jié)束本次循環(huán),緊接著執(zhí)行下一次

45、的循環(huán)。 i=1for i in range(5): i+=1 print(-) if i=3: continue print(i) for i in range(5): print(-) print i這兩個結(jié)果有什么不同?pass語句pass是空語句,它是為了保持程序結(jié)構(gòu)完整性。for letter in Runoob: if letter = o: pass print (執(zhí)行 pass 塊) print (當(dāng)前字母 :, letter)print (Good bye!)pass語句不做任何事情,用作占位。else語句else語句可以和循環(huán)語句結(jié)合使用,并且else語句旨在循環(huán)完成后執(zhí)行

46、。 count = 0 while count lets go! go File , line 1 lets go! go SyntaxError: invalid syntax看下面的代碼:對于單引號或者雙引號這些特殊的符號,我們可以對他們進行轉(zhuǎn)義。例如,對字符串中的單引號進行轉(zhuǎn)義:lets go! golets go! go轉(zhuǎn)義字符轉(zhuǎn)義字符代表含義(在行尾時)反斜杠符號反斜杠符號 雙引號 n換行b 退格t橫向制表符 過渡頁01 字符串介紹02 字符串的輸出和輸入03 訪問字符串中的值04 字符串內(nèi)建函數(shù)05 字符串運算符02 字符串的輸出和輸入字符串的輸出比如有以下代碼:print(“我今

47、年10歲”)print(“我今年11歲”)print (我今年12歲) .當(dāng)然有??梢酝ㄟ^字符串格式化來完成。大家試想一下,上述代碼多次輸出我今年xx歲,是否有一種簡化程序的方式呢?字符串的輸出name =“小明”print(大家好,我叫%s%name)下面是字符串的格式化輸出字符串的輸出常見的格式化符號格式化符號轉(zhuǎn)換%s 通過str()字符串轉(zhuǎn)換來格式化 %d 有符號十進制整數(shù) %f 浮點實數(shù) 字符串的輸入Python3提供了 input() 函數(shù)從標(biāo)準(zhǔn)輸入讀取一行文本,默認的標(biāo)準(zhǔn)輸入是鍵盤。input可以接收一個Python表達式作為輸入,并將運算結(jié)果返回。username=input(請

48、輸入用戶名)print(username)過渡頁01 字符串介紹02 字符串的輸出和輸入03 訪問字符串中的值04 字符串內(nèi)建函數(shù)05 字符串運算符03 訪問字符串中的值字符串的存儲方式字符串中的每個字符都對應(yīng)一個下標(biāo),下標(biāo)編號是從0開始的。什么是切片切片的語法格式如下所示:起始:結(jié)束:步長切片選取的區(qū)間屬于左閉右開型,即從起始位開始,到結(jié)束位的前一位結(jié)束(不包含結(jié)束位本身) 使用切片截取字符串假設(shè)有字符串 name=“abcdef”,則:name0:3name3:5name1:-1 name2:)name:-2abcdebcdecdeffdb過渡頁01 字符串介紹02 字符串的輸出和輸入03

49、 訪問字符串中的值04 字符串內(nèi)建函數(shù)05 字符串運算符04 字符串內(nèi)建函數(shù)字符串內(nèi)建函數(shù)find函數(shù):檢測字符串是否包括子字符串str.find(str, beg=0, end=len(string)參數(shù)如下:str - 指定檢索的字符串。beg - 開始索引,默認為0。end - 結(jié)束索引,默認為字符串的長度。字符串內(nèi)建函數(shù)index函數(shù):檢測字符串是否包括子字符串str.index(str, beg=0, end=len(string)參數(shù)如下:str - 指定檢索的字符串。beg - 開始索引,默認為0。end - 結(jié)束索引,默認為字符串的長度。count函數(shù):統(tǒng)計字符串中某個字符的個

50、數(shù)str.count(sub, start= 0, end=len(string)參數(shù)如下:sub - 搜索的子字符串start - 字符串開始搜索的位置end - 字符串中結(jié)束搜索的位置字符串內(nèi)建函數(shù)replace函數(shù):將舊字符串替換為新字符串str.replace(old, new, max)參數(shù)如下:old - 將被替換的字符串。new - 新字符串,用于替換old字符串。max - 可選字符串,替換不超過mac次字符串內(nèi)建函數(shù)splite函數(shù):通過指定分隔符對字符串進行切片str.split(str=, num=string.count(str)參數(shù)如下:str - 分隔符。默認為所有

51、空字符。num - 分割次字符串內(nèi)建函數(shù)capitalize:第一個字符大寫,其他字符小寫str.capitalize()字符串內(nèi)建函數(shù)title:所有單詞首字母大寫,其余字母消息str.title()startswith:檢查字符串是否以制定子串開頭str.startswith(str, beg=0,end=len(string)字符串內(nèi)建函數(shù)參數(shù)如下:str - 檢測的字符串。strbeg - 可選參數(shù)用于設(shè)置字符串檢測的起始位置。strend - 可選參數(shù)用于設(shè)置字符串檢測的結(jié)束位置。endswith:檢查字符串是否以制定子串結(jié)尾str.endswith(suffix, start, e

52、nd)字符串內(nèi)建函數(shù)參數(shù)如下:suffix - 該參數(shù)可以是一個字符串或者是一個元素。start - 字符串中的開始位置。end - 字符串中的結(jié)束位置。upper:將小寫字母轉(zhuǎn)為大寫字母str.upper()字符串內(nèi)建函數(shù)mystr = hello world itheima and itheimaAppnewStr = mystr.upper()結(jié)果為:HELLO WORLD ITHEIMA AND ITHEIMAAPPljust:左對齊,使用空格填充至指定長度的新字符串str.ljust(width, fillchar)字符串內(nèi)建函數(shù)參數(shù)如下:width - 指定字符串長度。fillch

53、ar - 填充字符,默認為空格。rjust:右對齊,使用空格填充至指定長度的新字符串str.rjust(width, fillchar)字符串內(nèi)建函數(shù)參數(shù)如下:width - 指定字符串長度。fillchar - 填充字符,默認為空格。center:返回一個指定的寬度 width 居中的字符串 str.center(width, fillchar)字符串內(nèi)建函數(shù)參數(shù)如下:width - 字符串的總寬度。fillchar - 填充字符。lstrip:截掉字符串左邊的空格或指定字符 str.lstrip(chars)字符串內(nèi)建函數(shù)參數(shù)如下:chars -指定刪除的字符。rstrip:截掉字符串右邊

54、的空格或指定字符 str.rstrip(chars)字符串內(nèi)建函數(shù)參數(shù)如下:chars 制定刪除的字符。strip:截掉字符串左右邊的空格或指定字符 str.strip(chars)字符串內(nèi)建函數(shù)參數(shù)如下:chars -移除字符串頭尾指定的字符。過渡頁01 字符串介紹02 字符串的輸出和輸入03 訪問字符串中的值04 字符串內(nèi)建函數(shù)05 字符串運算符05 字符串運算符字符串運算符操作符描述+字符串連接*重復(fù)輸出字符串通過索引獲取字符串中的字符:截取字符串中的一部分字符串運算符操作符描述in成員運算符,如果字符串中包含給定的字符,返回True not in成員運算符。如果字符串中不包含給定字符,

55、返回Truer/R原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。本章首先對字符串進行了講解,介紹了什么是字符串以及對特殊字符的轉(zhuǎn)義;接著講解了字符串的格式化輸入和輸出、字符串的訪問;最后講解了字符串的內(nèi)建函數(shù)以及字符串運算符。通過本章的學(xué)習(xí),希望讀者能結(jié)合案例多加練習(xí),熟練掌握字符串操作的相關(guān)函數(shù)。 本章小結(jié)情境五 列表操作01 了解列表的輸入輸出,列表的嵌套02 掌握列表的循環(huán)遍歷03 掌握列表的常見操作知識能力目標(biāo)列表的增、刪、改、查、排序過渡頁01 列表概述02 列表的循環(huán)遍歷03 列表的常見操作04 列表的嵌套01 列表概述假設(shè)一個班有100個學(xué)生

56、,如果每個變量存放一個學(xué)生的姓名,是不是很麻煩?如果有一千個學(xué)生甚至更多,那該怎么辦呢?列表概述列表概述列表是Python中的一種數(shù)據(jù)結(jié)構(gòu),它可以存儲不同類型的數(shù)據(jù)。例如:A = 1,xiaoWang,a, 2, b列表概述列表索引是從0開始的,我們可以通過下標(biāo)索引的方式來訪問列表中的值。 A = xiaoWang, xiaoZhang, xiaoHuaprint(A0)print(A1)過渡頁01 列表概述02 列表的循環(huán)遍歷03 列表的常見操作04 列表的嵌套05 元組06 字典02 列表的循環(huán)遍歷列表的循環(huán)遍歷1. 使用for循環(huán)遍歷列表 namesList = xiaoWang,xia

57、oZhang,xiaoHua for name in namesList: print(name)列表的循環(huán)遍歷2. 使用while循環(huán)遍歷列表namesList = xiaoWang,xiaoZhang,xiaoHualength = len(namesList)i = 0while ilength: print(namesListi) i+=1過渡頁01 列表概述02 列表的循環(huán)遍歷03 列表的常見操作04 列表的嵌套05 元組06 字典03 列表的常見操作在列表中增加元素在列表中增加元素的方式有多種,具體如下:通過append可以向列表添加元素通過extend可以將另一個列表的元素添加到

58、列表中。通過insert在指定位置index前插入元素object。在列表中查找元素在列表中查找元素的方法包括:in(存在),如果存在那么結(jié)果為true,否則為false。not in(不存在),如果不存在那么結(jié)果為true,否則false。在列表中修改元素列表元素的修改,也是通過下標(biāo)來實現(xiàn)的。 A = xiaoWang,xiaoZhang,xiaoHua A1 = xiaoLu在列表中刪除元素列表元素的常用刪除方法有三種,具體如下:del:根據(jù)下標(biāo)進行刪除pop:刪除最后一個元素remove:根據(jù)元素的值進行刪除列表的排序可以通過下面兩個方法實現(xiàn):sort方法:列表的元素按照特定順序排列。r

59、everse方法:將列表逆置。列表的排序操作過渡頁01 列表概述02 列表的循環(huán)遍歷03 列表的常見操作04 列表的嵌套05 元組06 字典04 列表的嵌套列表的嵌套指的是一個列表的元素又是一個列表。 列表的嵌套schoolNames = 北京大學(xué),清華大學(xué), 南開大學(xué),天津大學(xué),天津師范大學(xué), 山東大學(xué),中國海洋大學(xué)過渡頁01 列表概述02 列表的循環(huán)遍歷03 列表的常見操作04 列表的嵌套05 元組06 字典05 元組什么是元組Python的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號,列表使用方括號。tup1 = (physics, chemistry, 1997, 2

60、000)tup2 = (1, 2, 3, 4, 5 )tup3 = a, b, c, d元組的相關(guān)操作1. 訪問元組tuple=(hello,100,4.5)print(tuple0)print(tuple1)print(tuple2)元組可以使用下標(biāo)索引來訪問元組中的值 元組的相關(guān)操作2. 元組不允許修改元組tup1 = (12, 34.56);tup2 = (abc, xyz)# 以下修改元組元素操作是非法的。tup10 = 100元組的相關(guān)操作3. 元組的遍歷a_turple = (1, 2, 3, 4, 5)for num in a_turple: print(num,end= ”)元

溫馨提示

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

最新文檔

評論

0/150

提交評論