版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第2章數(shù)字類型與字符串《Python程序開發(fā)案例教程(第2版))》學(xué)習(xí)目標(biāo)/Target
掌握數(shù)字類型,能夠在程序中正確表示不同數(shù)字類型的數(shù)據(jù)掌握運算符的用法,能夠使用運算符進行數(shù)值運算掌握運算符優(yōu)先級,能夠在數(shù)值運算中正確使用運算符掌握字符串的創(chuàng)建方式,能夠準(zhǔn)確創(chuàng)建字符串類型的變量學(xué)習(xí)目標(biāo)/Target
掌握格式化字符串的方式,能夠使用%、format()和f-string這3種方式格式化字符串掌握字符串的常見操作,能夠使用方法實現(xiàn)字符串的常見操作掌握字符串的索引和切片,能夠使用索引和切片訪問字符串的字符或子串掌握類型轉(zhuǎn)換函數(shù)的使用,能夠使用類型轉(zhuǎn)換函數(shù)對不同類型的數(shù)據(jù)進行轉(zhuǎn)換章節(jié)概述/Summary在計算機編程中,數(shù)據(jù)是程序處理的核心。Python中提供了豐富多樣的數(shù)據(jù)類型,簡單的數(shù)據(jù)類型有數(shù)字類型和字符串,其中數(shù)字類型用于表示數(shù)值形式的數(shù)據(jù),它可以聯(lián)合運算符進行算術(shù)或邏輯等操作;字符串用于表示文本形式的數(shù)據(jù),它能夠?qū)ξ谋具M行一些諸如分割、拼接、查找和替換操作,在程序中應(yīng)用十分廣泛。本章將對數(shù)字類型、字符串和運算符的相關(guān)內(nèi)容進行講解,并通過實例幫助大家熟練運用它們。目錄/Contents01數(shù)字類型02運算符03經(jīng)典實例04字符串05類型轉(zhuǎn)換數(shù)字類型2.1
先定一個小目標(biāo)!掌握數(shù)字類型,能夠在程序中正確表示不同數(shù)字類型的數(shù)據(jù)2.1數(shù)字類型整型無縫銜接單元測試表示數(shù)值的數(shù)據(jù)類型稱為數(shù)字類型。Python內(nèi)置的數(shù)字類型有整型(int)、浮點型(float)、復(fù)數(shù)類型(complex),它們分別對應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù),此外,還有一種比較特殊的類型——布爾類型(bool)。類似-2、-1、0、1、2這樣的數(shù)據(jù)被稱為整型數(shù)據(jù)。在Python中可以使用四種進制方式表示整型數(shù)據(jù),分別為二進制、八進制、十進制和十六進制,其中二進制整型數(shù)據(jù)以“0b”或“0B”開頭、八進制整型數(shù)據(jù)以“0o”或“0O”開頭、十六進制整型數(shù)據(jù)以“0x”或“0X”開頭,默認(rèn)采用十進制方式表示。復(fù)數(shù)類型布爾類型浮點型2.1數(shù)字類型整型無縫銜接單元測試類似1.1、0.5、-1.4、3.12e2這樣的數(shù)據(jù)被稱為浮點型數(shù)據(jù),浮點型數(shù)據(jù)是帶有小數(shù)點的數(shù)值。Python的浮點數(shù)可以采用兩種方式表示,分別是十進制和科學(xué)計數(shù)法。復(fù)數(shù)類型布爾類型浮點型2.1數(shù)字類型表示數(shù)值的數(shù)據(jù)類型稱為數(shù)字類型。Python內(nèi)置的數(shù)字類型有整型(int)、浮點型(float)、復(fù)數(shù)類型(complex),它們分別對應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù),此外,還有一種比較特殊的類型——布爾類型(bool)。整型無縫銜接單元測試類似3+2j、3.1+4.9j、-2.3-1.9j這樣的數(shù)據(jù)被稱為復(fù)數(shù),Python中的復(fù)數(shù)有以下3個特點:(1)復(fù)數(shù)由實部real和虛部imag構(gòu)成,其一般形式為real+imagj。(2)實部real和虛部的imag都是實數(shù)。(3)虛部imag必須有后綴j或J。復(fù)數(shù)類型布爾類型浮點型2.1數(shù)字類型表示數(shù)值的數(shù)據(jù)類型稱為數(shù)字類型。Python內(nèi)置的數(shù)字類型有整型(int)、浮點型(float)、復(fù)數(shù)類型(complex),它們分別對應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù),此外,還有一種比較特殊的類型——布爾類型(bool)。整型無縫銜接單元測試布爾類型用于表示邏輯值,它只有兩個可能的取值:True和False,分別對應(yīng)數(shù)學(xué)命題的真與假。Python中任何類型的數(shù)據(jù)都具有布爾屬性,它們可以根據(jù)一定的規(guī)則轉(zhuǎn)換為布爾類型的值,在進行轉(zhuǎn)換時,符合以下條件的數(shù)據(jù)都會被轉(zhuǎn)換為False。(1)None;(2)任何為0的數(shù)字類型,如0、0.0、0j;(3)空字符串,如''、'''';(4)任何為空的復(fù)雜類型,如空元組()、空列表[]、空字典{};復(fù)數(shù)類型布爾類型浮點型2.1數(shù)字類型表示數(shù)值的數(shù)據(jù)類型稱為數(shù)字類型。Python內(nèi)置的數(shù)字類型有整型(int)、浮點型(float)、復(fù)數(shù)類型(complex),它們分別對應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù),此外,還有一種比較特殊的類型——布爾類型(bool)。運算符2.2
先定一個小目標(biāo)!掌握算術(shù)運算符的用法,能夠使用運算符進行數(shù)值運算2.2.1
算術(shù)運算符Python中的算術(shù)運算符包括+、-、*、/、//、%和**,這些運算符都是雙目運算符,一個運算符可以和兩個操作數(shù)組成一個表達式。當(dāng)解釋器執(zhí)行包含算術(shù)運算符的表達式時,會根據(jù)運算符的功能對兩個操作數(shù)進行特定操作,并將操作后的結(jié)果進行返回。2.2.1
算術(shù)運算符2.2.1
算術(shù)運算符以操作數(shù)a=3,b=5為例,Python中各個算術(shù)運算符的功能及示例如表所示。運算符說明示例+加:使兩個操作數(shù)相加,獲取操作數(shù)的和a+b,結(jié)果為8-減:使兩個操作數(shù)相減,獲取操作數(shù)的差a–b,結(jié)果為-2*乘:使兩個操作數(shù)相乘,獲取操作數(shù)的積a*b,結(jié)果為15/除:使兩個操作數(shù)相除,獲取操作數(shù)的商a/b,結(jié)果為0.6//整除:使兩個操作數(shù)相除,獲取商的整數(shù)部分a//b,結(jié)果為0%取余:使兩個操作數(shù)相除,獲取余數(shù)a%b,結(jié)果為3**冪:使兩個操作數(shù)進行冪運算,獲取a的b次冪a**b,結(jié)果為2432.2.1
算術(shù)運算符無論參加運算的操作數(shù)是什么類型,解釋器都能給出運算后的正確結(jié)果,這是因為Python在對不同類型的對象進行運算時,會強制將數(shù)據(jù)的類型進行臨時類型轉(zhuǎn)換,這些轉(zhuǎn)換遵循如下規(guī)律:布爾類型在進行算術(shù)運算時,將False和True被視為數(shù)值0或1;整型與浮點型進行運算時,將整型轉(zhuǎn)化為浮點型;其它類型與復(fù)數(shù)類型進行運算時,將其他類型轉(zhuǎn)換為復(fù)數(shù)類型。簡單來說,類型相對簡單與類型復(fù)雜的操作數(shù)進行混合運算時,會被轉(zhuǎn)換為與復(fù)雜操作數(shù)相同的類型。
先定一個小目標(biāo)!掌握比較運算符的用法,能夠使用比較符進行數(shù)值比較2.2.2
比較運算符2.2.1
算術(shù)運算符比較運算符用于比較兩個操作數(shù)的大小,Python中的比較運算符有==、!=、>、<、>=、<=,比較運算符同樣是雙目運算符,它與兩個操作數(shù)構(gòu)成一個表達式。當(dāng)解釋器執(zhí)行包含比較運算符的表達式時,會根據(jù)運算符的功能對兩個操作數(shù)進行比較操作,并返回布爾類型的值。2.2.2
比較運算符以a=3,b=5為例,Python中各比較運算符的功能及示例如表所示。運算符說明示例==比較左操作數(shù)和右操作數(shù),若相等則結(jié)果為True,否則結(jié)果為Falsea==b不成立,結(jié)果為False!=比較左操作數(shù)和右操作數(shù),若不相等則結(jié)果為True,否則為Falsea!=b成立,結(jié)果為True>比較左操作數(shù)和右操作數(shù),若左操作數(shù)大于右操作數(shù)則結(jié)果為True,否則為Falsea>b不成立,結(jié)果為False<比較左操作數(shù)和右操作數(shù),若左操作數(shù)小于右操作數(shù)則結(jié)果為True,否則為Falsea<b成立,結(jié)果為True>=比較左操作數(shù)和右操作數(shù),若左操作數(shù)大于或等于右操作數(shù)則結(jié)果為True,否則為Falsea>=b不成立,結(jié)果為False<=比較左操作數(shù)和右操作數(shù),若左操作數(shù)小于或等于右操作數(shù)則結(jié)果為True,否則為Falsea<=b成立,結(jié)果為True需要注意的是,比較運算符只對操作數(shù)進行比較操作,不會對操作數(shù)自身造成影響,即經(jīng)過比較運算符運算后的操作數(shù)不會被修改。比較運算符與操作數(shù)構(gòu)成的表達式的結(jié)果只能是True或False,這種表達式通常用于布爾測試。2.2.2
比較運算符
先定一個小目標(biāo)!掌握賦值運算符的用法,能夠使用賦值運算符為操作數(shù)賦值2.2.3
賦值運算符賦值運算符是雙目運算符,它的功能是將運算符右側(cè)的表達式或值賦給左側(cè)的操作數(shù),其中左操作數(shù)必須是一個值可修改的變量?!?”是基本的賦值運算符,此外“=”可與算術(shù)運算符組合成復(fù)合賦值運算符,從而實現(xiàn)同時進行算術(shù)運算和賦值操作的便利。Python中的復(fù)合賦值運算符有+=、-=、*=、/=、//=、%=、**=,它們的功能與相應(yīng)的算術(shù)運算符相似,例如“a+=b”等價于“a=a+b”,“a-=b”等價于“a=a-b”,諸如此類。2.2.3
賦值運算符
先定一個小目標(biāo)!掌握邏輯運算符的用法,能夠使用邏輯運算符為操作數(shù)進行邏輯運算2.2.4
邏輯運算符2.2.4
邏輯運算符Python支持邏輯運算,但Python邏輯運算符的功能與其它語言有所不同。Python中分別使用“or”、“and”、“not”這三個關(guān)鍵字作為邏輯運算“或”、“與”、“非”的運算符,其中or與and為雙目運算符,not為單目運算符。2.2.4
邏輯運算符當(dāng)使用運算符or連接兩個操作數(shù)進行邏輯或運算時,若左操作數(shù)的布爾值為True,則返回左操作數(shù),否則返回右操作數(shù)。注意,如果操作數(shù)一個表達式,則不會直接返回操作數(shù)本身,而是會返回表達式的計算結(jié)果。邏輯運算符——orresult_one=0or3+5#左操作數(shù)布爾值為Falseprint(result_one)result_two=3or0#左操作數(shù)布爾值為Trueprint(result_two)2.2.4
邏輯運算符當(dāng)使用運算符and連接兩個操作數(shù)進行邏輯與運算時,若左操作數(shù)的布爾值為False,則返回左操作數(shù),否則返回右操作數(shù)。注意,如果操作數(shù)一個表達式,則不會直接返回操作數(shù)本身,而是會返回表達式的計算結(jié)果。邏輯運算符——andresult_one=3-3and5#左操作數(shù)布爾值為Falseprint(result_one)result_two=3-4and5#左操作數(shù)布爾值為Trueprint(result_two)2.2.4
邏輯運算符當(dāng)使用運算符not進行邏輯非運算時,若操作數(shù)的布爾值為False,則返回True,否則返回False。邏輯運算符——notresult_one=not3-5#操作數(shù)布爾值為Trueprint(result_one)result_two=notFalse#操作數(shù)的值為Falseprint(result_two)
先定一個小目標(biāo)!掌握成員運算符的用法,能夠使用成員運算符為檢測給定值是否存在2.2.5
成員運算符成員運算符用于檢測給定值是否存在字符串、列表、元組、集合、字典中,并返回檢測后的結(jié)果。Python中提供了兩個成員運算符,分別是in和notin。in:如果給定值在字符串、列表、元組、集合、字典中,返回True,否則返回False。notin:如果給定值不在字符串、列表、元組、集合、字典中,返回True,否則返回False。2.2.5
成員運算符注意,列表、元組、集合、字典是比較復(fù)雜的數(shù)據(jù)類型。接下來以字符串為例,演示如何使用成員運算符檢測一個字符串是否在另一個字符串中。2.2.5
成員運算符words='abcdefg'#定義一個變量,保存字符串類型的數(shù)據(jù)print('f'inwords)#檢測'f'是否在字符串中print('c'notinwords)#檢測'c'是否在字符串中
先定一個小目標(biāo)!掌握位運算符的用法,能夠使用位運算符對數(shù)據(jù)進行計算2.2.6
位運算符位運算符是一組特殊的運算符,用于對整數(shù)在二進制位上進行操作。Python的位運算符有<<、>>、&、|、^、~,其中運算符~是單目運算符,其余全部是雙目運算符,操作數(shù)必須是整數(shù)。2.2.6
位運算符2.2.6
位運算符以a=3,b=5為例,Python中各個位運算符的功能及示例如表所示。運算符說明示例<<按位左移,作用是將二進制形式操作數(shù)的所有位全部左移指定位數(shù),高位丟棄,低位補0a<<b,結(jié)果為96>>按位右移,作用是將二進制形式操作數(shù)的所有位全部右移指定位數(shù),低位丟棄,高位補0a>>b,結(jié)果為0&按位與,作用是將兩個二進制形式操作數(shù)進行逐位的與運算,當(dāng)兩個對應(yīng)位均為1時,結(jié)果位為1,否則為0a&b,結(jié)果為1|按位或,作用是將兩個二進制形式操作數(shù)進行逐位的或運算,當(dāng)兩個對應(yīng)位有一個為1時,結(jié)果位為1,否則為0a|b,結(jié)果為7^按位異或,作用是將兩個二進制形式操作數(shù)進行逐位的異或運算,當(dāng)兩個對應(yīng)位有一個為1,另一個為0時,結(jié)果位為1,否則結(jié)果位為0a^b,結(jié)果為6num_one=10num_two=11result_one=num_one<<2
#num_one的二進制數(shù)按位左移兩位result_two=num_one>>2
#num_one的二進制數(shù)按位右移兩位result_thr=num_one&2
#num_one與2的二進制數(shù)進行按位與運算result_fou=num_one|2
#num_one與2的二進制數(shù)進行按位或運算result_fiv=num_one^num_two#num_one與num_two的二進制數(shù)進行按位異或運算result_six=~num_one
#num_one的二進制數(shù)進行按位取反運算2.2.6
位運算符
先定一個小目標(biāo)!掌握運算符優(yōu)先級,能夠在數(shù)值運算中正確使用運算符2.2.7
運算符優(yōu)先級Python支持使用多個不同的運算符連接簡單表達式,實現(xiàn)相對復(fù)雜的功能,為了避免含有多個運算符的表達式出現(xiàn)歧義,Python為每種運算符都設(shè)定了優(yōu)先級。2.2.7
運算符優(yōu)先級Python各種運算符的優(yōu)先級由低到高依次如表所示。2.2.7
運算符優(yōu)先級運算符說明+=,-=,*=,/=,//=,%=,**=算術(shù)并賦值or邏輯或and邏輯與not邏輯非in,notin成員測試<,<=,>,>=,!=,==比較運算符|按位或^按位異或&按位與<<,>>按位左移,按位右移+,-加法,減法*,/,%乘法,除法,取余~按位取反**指數(shù)默認(rèn)情況下,運算符的優(yōu)先級決定了復(fù)雜表達式中的哪個單一表達式先執(zhí)行,但用戶可使用圓括號改變表達式的執(zhí)行順序。通常圓括號中的表達式先執(zhí)行。例如,表達式“3+4*5”,若想讓加法先執(zhí)行,可寫為“(3+4)*5”。此外,若表達式嵌套了多層圓括號,則最內(nèi)層圓括號中的表達式先執(zhí)行。2.2.7
運算符優(yōu)先級經(jīng)典實例2.32.3.1
實例1:計算BMI指數(shù)
先定一個小目標(biāo)!根據(jù)任務(wù)描述實現(xiàn)實例1:計算BMI指數(shù)BMI指數(shù)即身體質(zhì)量指數(shù),是目前國際常用的衡量人體胖瘦程度以及是否健康的一個標(biāo)準(zhǔn)。BMI指數(shù)的計算公式如下:體質(zhì)指數(shù)(BMI)=體重(kg)÷身高(m)÷身高(m)2.3.1
實例1:計算BMI指數(shù)任務(wù)描述(1)接收用戶輸入的體重數(shù)據(jù)。(2)接收用戶輸入的身高數(shù)據(jù)。(3)按照BMI指數(shù)公式計算BMI值。實現(xiàn)步驟2.3.1
實例1:計算BMI指數(shù)2.3.2實例2:計算三角形面積
先定一個小目標(biāo)!根據(jù)任務(wù)描述實現(xiàn)實例2:計算三角形面積已知三角形三條邊的長度分別為x、y、z,此時若要計算這個三角形的面積,還不知道三角形的高。為了能計算三角形的面積,我們根據(jù)海倫公式先計算三角形的半周長為q,再計算三角形的面積。三角形半周長和三角形面積公式分別如下所示:三角形半周長q=(x+y+z)/2三角形面積S=(q*(q-x)*(q-y)*(q-z))**0.52.3.2實例2:計算三角形面積任務(wù)描述(1)接收用戶輸入的三角形三條邊長。(2)根據(jù)三條邊長計算三角形半周長。(3)根據(jù)半周長計算三角形的面積。實現(xiàn)步驟2.3.2實例2:計算三角形面積2.3.3實例3:判斷水仙花數(shù)
先定一個小目標(biāo)!根據(jù)任務(wù)描述實現(xiàn)實例3:判斷水仙花數(shù)水仙花數(shù)是一個3位數(shù),它的每位數(shù)字的3次冪之和等于它本身,例如,13+53+33=153,153就是一個水仙花數(shù)。2.3.3實例3:判斷水仙花數(shù)任務(wù)描述(1)接收用戶輸入的三位數(shù)字。(2)獲取三位數(shù)的每個數(shù)字。(3)根據(jù)水仙花數(shù)特點判斷輸入的三位數(shù)是否是水仙花數(shù)。實現(xiàn)步驟2.3.3實例3:判斷水仙花數(shù)字符串2.42.4.1字符串的創(chuàng)建
先定一個小目標(biāo)!掌握字符串的創(chuàng)建方式,能夠準(zhǔn)確創(chuàng)建字符串類型的變量2.4.1字符串的創(chuàng)建字符串是一種用來表示文本的數(shù)據(jù)類型,它是由字母、符號、數(shù)值等組成的一個字符序列,被引號包裹起來。Python中的字符串是不可變的數(shù)據(jù)類型,這意味著字符串一旦被創(chuàng)建便不可改變其中的字符。2.4.1字符串的創(chuàng)建創(chuàng)建方式Python支持使用單引號、雙引號和三引號創(chuàng)建字符串,其中單引號和雙引號通常用于創(chuàng)建單行字符串,三引號通常用于創(chuàng)建多行字符串,示例代碼如下。single_symbol='學(xué)海無涯'
#使用單引號創(chuàng)建字符串double_symbol="知識無底"#使用雙引號創(chuàng)建字符串three_symbol="""學(xué)知不足,業(yè)精于勤"""
#使用三引號創(chuàng)建字符串2.4.1字符串的創(chuàng)建單引號、雙引號嵌套使用創(chuàng)建字符串時單引號與雙引號可以嵌套使用,需要注意的是,使用雙引號創(chuàng)建的字符串中允許嵌套單引號,但不允許包含雙引號;使用單引號創(chuàng)建的字符串中允許嵌套雙引號,但不允許包含單引號,具體示例如下。mixture_string="Let'sgo"
#單引號、雙引號混合使用double_string="Let"sgo"#雙引號嵌套雙引號,程序運行出現(xiàn)錯誤信息single_string='Let'sgo'
#單引號嵌套單引號,程序運行出現(xiàn)錯誤信息2.4.1字符串的創(chuàng)建字符串中使用換行符如果單引號或者雙引號包裹的字符中包含換行符,那么字符串會被自動換行,示例代碼如下。double_symbol="學(xué)知不足,\n業(yè)精于勤"2.4.2字符串的格式化
先定一個小目標(biāo)!掌握格式化字符串的方式,能夠使用%、format()和f-string這3種方式格式化字符串字符串格式化是一種動態(tài)插值的技術(shù),通過占位符將變量或表達式插入到字符串的指定位置,從而提高了字符串的靈活性,使得開發(fā)人員可以根據(jù)需求動態(tài)地構(gòu)建和輸出各種復(fù)雜的字符串內(nèi)容。2.4.2字符串的格式化字符串格式化目的字符串格式化是一種動態(tài)插值的技術(shù),通過占位符將變量或表達式插入到字符串的指定位置,從而提高了字符串的靈活性,使得開發(fā)人員可以根據(jù)需求動態(tài)地構(gòu)建和輸出各種復(fù)雜的字符串內(nèi)容。name="小明"result="你好,我叫%s。"%nameprint(result)使用符號%格式化2.4.2字符串的格式化一個字符串中同時可以含有多個格式符,此時需要在%后面指定多個真實值,多個真實值以元組的形式存儲,且真實值與格式符的數(shù)量相等,示例代碼如下。name="小明"age=12result="你好,我叫%s,今年我%d歲了。"%(name,age)print(result)使用符號%格式化2.4.2字符串的格式化不同的格式符為不同類型的變量預(yù)留位置,常見的占位符如表所示。常見占位符2.4.2字符串的格式化格式符說明%s將字符串類型的數(shù)據(jù)格式化為字符串%d將十進制形式的整型數(shù)據(jù)格式化為字符串%o將八進制形式的整型數(shù)據(jù)格式化為字符串%x將十六進制形式的整型數(shù)據(jù)格式化為字符串,十六進制整型數(shù)據(jù)的前導(dǎo)符a~f為小寫字母%X將十六進制形式的整型數(shù)據(jù)格式化為字符串,十六進制整型數(shù)據(jù)的前導(dǎo)符A~F為大寫字母%e指數(shù)(底寫為e)%f將浮點型的數(shù)據(jù)格式化為字符串,可指定小數(shù)點后的精度,默認(rèn)保留6位小數(shù)。若設(shè)為%.2f,則會將浮點型的數(shù)據(jù)保留兩位小數(shù)使用格式符占位時需要注意變量的類型,若變量的類型與格式符不匹配時程序會產(chǎn)生異常。2.4.2字符串的格式化格式不匹配name="李強"#變量name是字符串類型age="12"
#變量age是字符串類型result="你好,我叫%s,今年我%d歲了。"%(name,age)print(result)TypeError:%dformat:arealnumberisrequired,notstrformat()方法同樣可以對字符串進行格式化,與符號%不同的是,使用format()方法不需要關(guān)注變量的類型。使用format()方法格式化的語法格式如下。使用format()方法格式化2.4.2字符串的格式化str.format(values)語法格式str:表示需要被格式化的字符串,字符串中應(yīng)該包含一個或多個為真實數(shù)據(jù)占位的符號{}。values:表示一個或多個待插入的真實數(shù)據(jù),多個數(shù)據(jù)之間以逗號分隔。使用format()方法對字符串進行格式化,并在字符串中使用{}為變量預(yù)留位置,示例代碼如下。name="小明"result="你好!我的名字是{}。".format(name)print(result)使用format()方法格式化2.4.2字符串的格式化如果待被格式化的字符串中包含多個{},并且{}內(nèi)沒有指定任何序號,那么默認(rèn)按照{(diào)}出現(xiàn)的順序分別用format()方法中的真實數(shù)據(jù)進行替換;如果字符串的{}中明確指定了序號,序號是從0開始的,那么按照序號對應(yīng)的format()方法的真實數(shù)據(jù)進行替換。name="小明"age=21result_one="你好!我的名字是{},今年我{}歲了。".format(name,age)print(result_one)result_two="你好!我的名字是{1},今年我{0}歲了。".format(age,name)print(result_two)字符串中包含多個{}2.4.2字符串的格式化使用format()方法可以保留浮點型數(shù)據(jù)的n位小數(shù),其格式為“{:.nf}”,其中n表示保留的小數(shù)位數(shù)。例如,變量pi的值為3.1415,使用format()方法格式化時將該變量的值保留2位小數(shù)。。pi=3.1415result="{:.2f}".format(pi)print(result)保留n位小數(shù)2.4.2字符串的格式化使用format()方法可以對數(shù)字進行補齊,其格式為“{:m>nd}”,其中m表示補齊的數(shù)字,n表示補齊后數(shù)字的長度。例如,某個序列編號從001開始,此種編號可以在1之前使用兩個“0”進行補齊。num=1result="{:0>3d}".format(num)print(result)數(shù)字對齊2.4.2字符串的格式化使用format()方法可以將數(shù)字以百位比形式顯示,其格式為“{:.n%}”,其中n表示保留的小數(shù)位。例如,變量num的值為0.1,將num值保留0位小數(shù)并以百分比格式顯示。num=0.1result="{:.0%}".format(num)print(result)顯示百分比2.4.2字符串的格式化f-strings是一種更為簡潔的格式化字符串方法,它在格式上以f或F引領(lǐng)字符串,字符串中使用{}標(biāo)明被替換的真實數(shù)據(jù)的位置。f-strings本質(zhì)上不再是字符串,而是在運行時運算求值的表達式,所以在效率上優(yōu)于占位符%和format()方法。2.4.2字符串的格式化使用f-strings不需要關(guān)注變量的類型,但是仍然需要關(guān)注變量插入的位置。示例代碼如下。使用f-strings格式化address='北京'result=f'歡迎來到{address}。'print(result)2.4.2字符串的格式化使用f-strings還可以用多個變量對字符串進行格式化,示例代碼如下。使用f-strings對多個變量格式化name='小天'age=20 gender='男'result=f'我的名字是{name},今年{age}歲了,我的性別是{gender}。'print(result)2.4.3字符串的常見操作
先定一個小目標(biāo)!掌握字符串的常見操作,能夠使用方法實現(xiàn)字符串的常見操作Python中可以直接使用“+”符號實現(xiàn)字符串拼接,示例代碼如下。str_one="乘風(fēng)破浪會有時,"str_two="直掛云帆濟滄海。"result=str_one+str_twoprint(result)2.4.3字符串的常見操作字符串拼接Python中replace()方法可使用新的子串替換目標(biāo)字符串中原有的子串,如果在字符串中沒有找到匹配的子串,那么會直接返回原字符串。2.4.3字符串的常見操作字符串替換old:表示原有的子串。new:表示新的子串。count:用于設(shè)定替換次數(shù),默認(rèn)值為None,表示不限制替換次數(shù)。replace(old,new,count=None)語法格式使用replace()方法實現(xiàn)字符串替換,示例代碼如下。word="日月之行,若出其中;星漢燦爛,若出其里;"result_one=word.replace(";","。")#使用"。"替換";",不指定替換次數(shù)print(result_one)result_two=word.replace(";","。",1)#使用"。"替換";",指定替換次數(shù)為1print(result_two)2.4.3字符串的常見操作字符串替換Python中split()方法可以使用指定的分隔符把字符串分割成多個子串,并將這些子串保存到列表中返回。2.4.3字符串的常見操作字符串分割sep:表示分隔符,默認(rèn)值為空字符,包括空格、換行符(\n)制表符(\t)等。maxsplit:表示最大分割次數(shù),默認(rèn)值為-1,表示不限制分割次數(shù)。split(sep=None,maxsplit=-1)語法格式使用split()方法實現(xiàn)字符串分割,示例代碼如下。word="12345"result_one=word.split()#使用空字符分割字符串,不限制分割次數(shù)print(result_one)word="a,b,c,d,e"result_two=word.split(",")#使用逗號分割字符串,不限制分割次數(shù)print(result_two)result_thr=word.split(",",3)#使用空字符分割字符串,最多分割3次print(result_thr)2.4.3字符串的常見操作字符串分割Python中strip()方法一般用于去除字符串兩側(cè)的空格,該方法的語法格式如下:2.4.3字符串的常見操作去除字符串兩側(cè)空格sep:用于設(shè)置要去除的字符,默認(rèn)值為空格。strip(chars=None)語法格式使用split()方法實現(xiàn)字符串兩側(cè)空格,示例代碼如下。word="勤而行之"result=word.strip()#去除字符串兩側(cè)的空格print(result)2.4.3字符串的常見操作去除字符串兩側(cè)空格使用split()方法實現(xiàn)字符串去除其它字符,例如去除字符串兩側(cè)的“*”,示例代碼如下。word="**勤而行之**"result=word.strip("*")#去除字符串兩側(cè)的星號print(result)2.4.3字符串的常見操作去除字符串兩側(cè)空格2.4.4字符串的索引與切片
先定一個小目標(biāo)!掌握字符串的常見操作,能夠使用方法實現(xiàn)字符串的常見操作字符串是一個由字符組成的序列,每個字符所處的位置是固定的,并且對應(yīng)著一個位置編號,編號從0開始,依次遞增1,這個位置編號被稱為索引或者下標(biāo)。索引字符串的索引(正向)索引自0開始從左至右依次遞增,這樣的索引稱為正向索引。2.4.4字符串的索引與切片如果索引自-1開始,從右至左依次遞減,則索引為反向索引。反向索引的示意圖如圖所示。索引字符串的索引(反向)索引自-1開始,從右至左依次遞減,則索引為反向索引。2.4.4字符串的索引與切片通過索引可以獲取指定位置的字符,語法格式如下:索引使用方式字符串[索引]使用正向索引和反向索引獲取字符串中的字符,示例代碼如下。str_python="python"str_python[0] #使用正向索引獲取字符pstr_python[-6] #使用反向索引獲取字符p需要注意的是,當(dāng)使用索引訪問字符串時,索引的范圍不能越界,否則程序會出現(xiàn)索引越界的異常。2.4.4字符串的索引與切片切片是截取字符串的一部分,其語法格式如下:切片字符串[起始索引:結(jié)束索引:步長]起始索引和結(jié)束索引用于指定切片截取的范圍,此范圍屬于左閉右開的區(qū)間,即截取的子串中默認(rèn)包含起始索引對應(yīng)的字符,但不包含結(jié)束索引對應(yīng)的字符,起始索引的默認(rèn)值是0,結(jié)束索引的默認(rèn)值為字符串的長度;步長表示每隔指定數(shù)量的字符截取一次字符,默認(rèn)值為1。2.4.4字符串的索引與切片使用切片截取字符串的示例代碼如下。切片str_python="python"#從索引為0處開始,到索引為4處結(jié)束,步長為1result_one=str_python[0:4]print(result_one)#從索引為0處開始,到索引為4處結(jié)束,步長為2result_two=str_python[0:4:2]print(result_two)在使用切片時,步長的值不僅可以設(shè)置為正整數(shù),還可以設(shè)置為負(fù)整數(shù)。示例代碼如下。#從索引為3處開始,到索引為0處結(jié)束,步長為-1result_thr=str_python[3:0:-1]print(result_thr)#從索引為-1處開始,到索引為-6處結(jié)束,步長為-2result_fou=str_python[-1::-2]print(result_fou)2.4.4字符串的索引與切片2.4.5實例4:制作名片
先定一個小目標(biāo)!根據(jù)任務(wù)描述實現(xiàn)實例4:制作名片名片在當(dāng)今社會交往活動中有著廣泛的應(yīng)用,它是謁見、拜訪或訪友時用的卡片,卡片上面印有個人的姓名、職位、單位名稱、電話、郵箱等信息,便于向新朋友快速有效地介紹自己,起到聯(lián)絡(luò)感情、架設(shè)友誼橋梁的作用。任務(wù)描述2.4.5實例4
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國衛(wèi)浴家電行業(yè)競爭格局及投資營銷模式分析報告
- 湄洲灣職業(yè)技術(shù)學(xué)院《細(xì)胞生物學(xué)實驗A》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年書畫藝術(shù)品線上銷售合同2篇
- 2025年岳陽從業(yè)資格證模擬考試題貨運考題
- 2024年某企業(yè)員工李四借款協(xié)議范本版B版
- 洛陽科技職業(yè)學(xué)院《課件設(shè)計與制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 健康醫(yī)療費用擔(dān)保方案
- 項目轉(zhuǎn)讓框架要點
- 辦公樓導(dǎo)向牌施工合同
- 大數(shù)據(jù)分析項目報價表格
- 芭蕾舞演出策劃方案
- 異型件自動插件機設(shè)計
- 電腦病毒及預(yù)防課件
- 新版中國食物成分表
- 零食店開業(yè)活動策劃
- 《小米手機分析》課件
- 初中數(shù)學(xué)專項練習(xí)《二次函數(shù)》92道計算題包含答案
- 教師法律法規(guī)講座課件
- 安全生產(chǎn)職業(yè)病預(yù)防培訓(xùn)
- 三級醫(yī)院評審(人力資源管理)應(yīng)知應(yīng)會宣講課件
- 全省精神衛(wèi)生防治項目實施方案
評論
0/150
提交評論