《Python程序設(shè)計基礎(chǔ)》課件-項目2 字符串與格式化處理_第1頁
《Python程序設(shè)計基礎(chǔ)》課件-項目2 字符串與格式化處理_第2頁
《Python程序設(shè)計基礎(chǔ)》課件-項目2 字符串與格式化處理_第3頁
《Python程序設(shè)計基礎(chǔ)》課件-項目2 字符串與格式化處理_第4頁
《Python程序設(shè)計基礎(chǔ)》課件-項目2 字符串與格式化處理_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目2字符串與格式化處理任務(wù)1Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動任務(wù)1Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動代碼縮進(jìn)Python中使用縮進(jìn)來表示代碼塊,免去使用大括號{}。縮進(jìn)的空格數(shù)是可變的,但是同一個代碼塊的語句必須包含相同的縮進(jìn)空格數(shù)。一般情況下,可以選擇使用“Tab鍵”進(jìn)行縮進(jìn)??梢赃x擇2、4、8等個空格寬度進(jìn)行縮進(jìn),建議選擇4個空格寬度進(jìn)行縮進(jìn)。①縮進(jìn)空格數(shù)相同ifi==1:print("Yes")else:print("No")②縮進(jìn)空格數(shù)不同ifi==1:print("Hello")print("World")else:print("Hello")print("World")以上代碼最后一行語句縮進(jìn)數(shù)的空格數(shù)不一致,所以在代碼執(zhí)行后會報錯:File"d:/demo.py",line6print("World")^IndentationError:unindentdoesnotmatchanyouterindentationlevel注釋Python解析器會忽略注釋語句,換言之,注釋語句對程序的運行沒有任何影響,但是它可以提高程序的可讀性,便于程序的更新和維護(hù)等。Python中的注釋包含有單行注釋和多行注釋。①單行注釋#打印“Hello,World!”print("Hello,World!")#正式打印Python中單行注釋以“#”開頭,例如:打印“HelloWorld!”:②多行注釋#第一個注釋#第二個注釋'''第三個注釋第四個注釋第五個注釋'''"""多行注釋可以用多個“#”號,還可以包含在一對三單引號('''……''')和三雙引號("""……""")之間。例如:打印“HelloWorld!”:第七個注釋第八個注釋第九個注釋"""print("HelloWorld!")③編碼什么注釋例如:#-*-coding:cp-1252-*--*-沒有任何作用,因此,上述聲明注釋等同于:#coding:cp-1252默認(rèn)情況下,Python3源碼文件以UTF-8編碼,所有字符串都是unicode字符串。當(dāng)然你也可以為源碼文件指定不同的編碼:語句的編碼規(guī)范良好的編碼規(guī)范習(xí)慣有利于我們編寫可讀性更高的代碼。①多行語句sum='sentence_one'+\'sentence_two'+\'sentence_three'print(sum)Python通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠\來實現(xiàn)多行語句,代碼如下所示:上述代碼的執(zhí)行結(jié)果為:sentence_onesentence_twosentence_threetotal=('hello_world,hello_world''hello_world,hello_world,')print(total)print(type(total))在[],{},或()中的多行語句,不需要使用反斜杠\,代碼如下所示:上述代碼的執(zhí)行結(jié)果為:hello_world,hello_worldhello_world,hello_world,②空行使用使用必要的空行可以增加程序的可讀性,一般在類的定義之間空兩行,方法的定義之間空一行。③空格使用運算符兩側(cè)、函數(shù)參數(shù)之間、“,”兩側(cè)建議使用空格進(jìn)行分隔。④無需分號不要在行尾添加“;”,不建議用分號將兩條命令放在同一行。01Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動任務(wù)1Python程序的書寫規(guī)范標(biāo)識符在Python中,標(biāo)識符命名規(guī)則如下:①標(biāo)識符由字母、數(shù)字、下劃線組成,但不能以數(shù)字開頭。②在Python3中,可以用中文作為變量名。③標(biāo)識符是區(qū)分大小寫。④以下劃線開頭的標(biāo)識符是有特殊意義的。以單下劃線開頭的標(biāo)識符(如_prope)代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,不能用fromxxximport*而導(dǎo)入。⑤以雙下劃線開頭的標(biāo)識符(如__prope)代表類的私有成員,以雙下劃線開頭和結(jié)尾代表Python中特殊方法專用的標(biāo)識,如__init__()代表類的構(gòu)造函數(shù)。關(guān)鍵字關(guān)鍵字即預(yù)定義保留標(biāo)識符。表2-1展示了Python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識符名稱。所有Python的關(guān)鍵字只包含小寫字母。andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswithexceptlambdayield可以使用keyword模塊查找Python中的所有關(guān)鍵字,代碼如下所示>>>importkeyword >>>keyword.kwlist上述代碼的執(zhí)行結(jié)果為:['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']01Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動任務(wù)1Python程序的書寫規(guī)范在內(nèi)存中存儲的數(shù)據(jù)可以有多種類型。Python3定義了一些標(biāo)準(zhǔn)類型,用于存儲各種類型的數(shù)據(jù)。Python3中有六個標(biāo)準(zhǔn)的數(shù)據(jù)類型:①Number(數(shù)字)②String(字符串)③List(列表)④Tuple(元組)⑤Set(集合)⑥D(zhuǎn)ictionary(字典)本章只介紹數(shù)字類型和字符串類型,其它的后面章節(jié)會介紹。數(shù)字類型數(shù)字?jǐn)?shù)據(jù)類型用于存儲數(shù)值。Python支持四種不同的數(shù)字類型。整數(shù)用來表示整數(shù)數(shù)值,即沒有小數(shù)部分的數(shù)值。在Python中,整數(shù)包括正整數(shù)、負(fù)整數(shù)和0,并且它的位數(shù)是任意的(當(dāng)超過計算機(jī)自身的計算功能時,會自動轉(zhuǎn)用高精度計算),如果要指定一個非常大的整數(shù),只需要寫出其所有位數(shù)。整數(shù)類型包括十進(jìn)制整數(shù)、八進(jìn)制整數(shù)、十六進(jìn)制整數(shù)和二進(jìn)制整數(shù)。Python3中,bool是int的子類。布爾型只有True和False兩個取值,True和False可以和數(shù)字相加,其是True==1、False==0。在語句a=5>2中,5>2是成立的,所以結(jié)果為真(True)。這個值被賦給變量a,a的類型為布爾型,其值就為True。相對于真而言,表示一個命題不成立的值則成為假(False)。int(有符號整型)long(長整型,也可以代表八進(jìn)制和十六進(jìn)制)浮點型就是通常理解的小數(shù)。在實際的執(zhí)行過程中,計算機(jī)用4個字節(jié)(Byte)一共32個比特(bit)來存儲一個單精度浮點數(shù)。其中最高位為符號位,后面8位為指數(shù)E,剩下的23位是有效數(shù)字M。float(浮點型)復(fù)數(shù)由實數(shù)部分real和虛數(shù)部分imag構(gòu)成,表示為real+imag,其中real和imag都是浮點型。complex(復(fù)數(shù))數(shù)字類型轉(zhuǎn)換

我們需要對數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,一般情況下你只需要將數(shù)據(jù)類型作為函數(shù)名即可。Python數(shù)據(jù)類型轉(zhuǎn)換可以分為隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換。在隱式類型轉(zhuǎn)換中,Python會自動將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。我們對兩種不同類型的數(shù)據(jù)進(jìn)行運算,較低數(shù)據(jù)類型(整數(shù))就會轉(zhuǎn)換為較高數(shù)據(jù)類型(浮點數(shù))以避免數(shù)據(jù)丟失。隱式類型轉(zhuǎn)換代碼如下所示:num_int=178num_float=3.14

num_new=num_int+num_float

print("datatypeofnum_int:",type(num_int))print("datatypeofnum_float:",type(num_float))

print("Valueofnum_new:",num_new)print("datatypeofnum_new:",type(num_new))上述代碼的執(zhí)行結(jié)果為:datatypeofnum_int:<class'int'>datatypeofnum_float:<class'float'>Valueofnum_new:181.14datatypeofnum_new:<class'float'>在顯式類型轉(zhuǎn)換中,用戶將對象的數(shù)據(jù)類型轉(zhuǎn)換為所需的數(shù)據(jù)類型。我們使用int()、float()、str()等預(yù)定義函數(shù)來執(zhí)行顯式類型轉(zhuǎn)換。其中int()強(qiáng)制轉(zhuǎn)換為整型,float()強(qiáng)制轉(zhuǎn)換為浮點型,str()強(qiáng)制轉(zhuǎn)換為字符串類型。字符型轉(zhuǎn)換為整型顯式類型轉(zhuǎn)換代碼如下所示:num_int=521num_str="435"print("num_int數(shù)據(jù)類型為:",type(num_int))print("類型轉(zhuǎn)換前,num_str數(shù)據(jù)類型為:",type(num_str))num_str=int(num_str)#強(qiáng)制轉(zhuǎn)換為整型print("類型轉(zhuǎn)換后,num_str數(shù)據(jù)類型為:",type(num_str))num_sum=num_int+num_strprint("num_int與num_str相加結(jié)果為:",num_sum)print("sum數(shù)據(jù)類型為:",type(num_sum))num_int=str(num_int)#強(qiáng)制轉(zhuǎn)換為字符型print("類型轉(zhuǎn)換后,num_int數(shù)據(jù)類型為:",type(num_int))上述代碼的執(zhí)行結(jié)果為:num_int數(shù)據(jù)類型為:<class'int'>類型轉(zhuǎn)換前,num_str數(shù)據(jù)類型為:<class'str'>類型轉(zhuǎn)換后,num_str數(shù)據(jù)類型為:<class'int'>num_int與num_str相加結(jié)果為:956sum數(shù)據(jù)類型為:<class'int'>類型轉(zhuǎn)換后,num_int數(shù)據(jù)類型為:<class'str'>任務(wù)1Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動運算符是一種特殊的符號,主要用于數(shù)學(xué)計算、比較大小和邏輯運算符等。Python的運算符主要包括算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符和位運算符。使用運算符將不同類型的數(shù)據(jù)按照一定的規(guī)則連接起來的式子,稱為表達(dá)式。例如,使用算術(shù)運算符連接起來的式子稱為算術(shù)運算符,使用邏輯運算符連接起來的式子稱為邏輯表達(dá)式。下面介紹一些常用的運算符。算術(shù)運算符算術(shù)運算符是處理四則運算的符號,在數(shù)字的處理中應(yīng)用得最多。常用的算術(shù)運算符如下表所示。運算符說明舉例結(jié)果+加11.45+1425.45-減4.46-0.163.3*乘4*3.614.4/除6/23%

求余,即返回除法的余數(shù)6%20//取整除,即返回商的整數(shù)部分5//22**冪,即返回x的y次方2**38,即23比較運算符比較運算符,也叫做關(guān)系運算符,用于對變量或表達(dá)式的結(jié)果進(jìn)行大小、真假等比較,如果比較結(jié)果為真,則返回True,如果結(jié)果為假,則返回False。比較運算符通常用在條件語句中作為判斷的依據(jù)。常用的比較運算符如下表所示。運算符說明舉例結(jié)果>

大于‘a(chǎn)’>‘b’False<

小于147<897True==等于‘a(chǎn)’=’a’True!=不等于‘y’!=’t’True>=大于或等于389>=379True<=小于或等于52.35<=45.6False賦值運算符賦值運算符主要用來為變量等賦值,使用時可以直接把基本賦值運算符“=”右邊的值賦給左邊的變量,也可以進(jìn)行某些運算后再賦值給左邊的變量。常用的賦值運算符如下表所示。運算符說明舉例展開形式=簡單的賦值運算x=yx=y+=加賦值x+=yx=x+y-=減賦值x-=yx=x-y*=乘賦值x*=yx=x*y/=除賦值x/=yx=x/y%=取余數(shù)賦值x%=yx=x%y**=冪賦值x**=yx=x**y//=取整除賦值x//=yx=x//y邏輯運算符邏輯運算符是對真和假兩種布爾值進(jìn)行運算,運算后的結(jié)果仍是一個布爾值。Python中的邏輯運算符主要包括and(邏輯與)、or(邏輯或)、not(邏輯非)。如下表所示。運算符說明舉例結(jié)合方法and邏輯與op1andop2從左到右or邏輯或op1orop2從左到右not邏輯非notop從右到左使用邏輯運算符進(jìn)行邏輯運算,結(jié)果如下表所示。表達(dá)式1表達(dá)式2表達(dá)式1and表達(dá)式2表達(dá)式1or表達(dá)式2not表達(dá)式1TrueTrueTrueTrueFalseTrueFalseFalseTrueFalseFalseFalseFalseFalseTrueFalseTrueFalseTrueTrue任務(wù)1Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動字符串的表示字符串是連續(xù)的字符序列,可以是計算機(jī)所能表示的一切字符的集合。在Python中,字符串屬于不可變序列,通常使用單引號“''”、雙引號“""”、或者三引號“''''''”括起來。這三種引號形式在語義上沒有差別,只是在形式上有些差別。其中單引號和雙引號中的字符序列必須在一行上,而三引號內(nèi)的字符序列可以分布在連續(xù)的多行上。字符串的截取的語法格式如下:變量[頭下標(biāo):尾下標(biāo)]其中:索引值以0為開始值,-1為從末尾的開始位置,代碼如下所示:str='python'print(str)#輸出字符串print(str[0:-1])#輸出第一個到倒數(shù)第二個的所有字符print(str[0])#輸出字符串第一個字符print(str[2:5])#輸出從第三個開始到第五個的字符print(str[2:])#輸出從第三個開始的后的所有字符print(str*2)#輸出字符串兩次,也可以寫成print(2*str)print(str+"test")#連接字符串字符串的截取上述代碼的執(zhí)行結(jié)果為:pythonpythopthothonpythonpythonpythontest轉(zhuǎn)義字符是指,用一些普通字符的組合來代替一些特殊字符,由于其組合改變了原來字符表示的含義,因此稱為“轉(zhuǎn)義”。常用的轉(zhuǎn)義字符如下表所示。轉(zhuǎn)義字符符號說明\n換行,一般用于末尾,strip對其也有效\0表示一個空字符\t橫向制表符(可以認(rèn)為是一個間隔符)\v縱向制表符(使用率低)\r換行,并將當(dāng)前字符串之前的所有字符刪掉\'轉(zhuǎn)義字符串中的單引號\"轉(zhuǎn)義字符串中的雙引號\\轉(zhuǎn)義反斜杠在Python中,在字符串前加r則表示該字符串為原生字符串,及該字符串中包含的轉(zhuǎn)義字符無效如:print(r"Mynameis\"Neo\"")上述代碼的執(zhí)行結(jié)果為:Mynameis\"Neo\"字符串的格式化Python支持格式化字符串的輸出,最基本的用法是將一個值插入到一個有字符串格式符%s的字符串中。執(zhí)行代碼如下所示:使用%操作符格式化字符串#直接輸出單引號或雙引號或三引號格式字符串print('helloworld')

#%格式化方法輸出字符串print("我叫%s今年%d歲!"%('李剛',25))name='Python樂園'print('歡迎來到%s'%name)上述代碼的執(zhí)行結(jié)果為:helloworld我叫李剛今年25歲!歡迎來到Python樂園Python中常見的字符串格式化符號如下表所示。符號說明%c格式化字符及其ASCII碼%s格式化字符串%d格式化整數(shù)%u格式化無符號整型%o格式化無符號八進(jìn)制數(shù)%x轉(zhuǎn)義字符串中的單引號%f格式化浮點數(shù)字,可指定小數(shù)點后的精度使用format()方法格式化字符串的語法格式如下:<字符串>.format(<參數(shù)列表>)使用format()方法格式化字符串,執(zhí)行代碼如下所示:使用format()方法格式化字符串print('helloworld')#format()格式化方法輸出字符串name1='Python樂園'name2='王剛'print('歡迎來到{0},我是{1}'.format(name1,name2))上述代碼的執(zhí)行結(jié)果為:helloworld歡迎來到Python樂園,我是王剛f-string是python3.6之后版本添加的,稱之為字面量格式化字符串,是新的格式化字符串的語法。f-string格式化字符串以f開頭,后面跟著字符串,字符串中的表達(dá)式用大括號{}包起來,它會將變量或表達(dá)式計算后的值替換進(jìn)去。執(zhí)行代碼如下所示:f-stringname='python'sentence='issobig'print(f'Hello{name},world{sentence}')#替換變量w={'name':'sohu','url':''}print(f'{w["name"]}:{w["url"]}')上述代碼的執(zhí)行結(jié)果為:Hellopython,worldissobigsohu:字符串的常見操作Python中常見字符串操作符如下表所示。符號說明+字符串拼接*重復(fù)輸出字符串[]通過索引獲取字符串中字符[:]截取字符串中的一部分,遵循左閉右開原則in成員運算符(如果字符串中包含給定的字符返回True)notin成員運算符(如果字符串中不包含給定的字符返回True)r或者R原始字符串(所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符)%格式化字符串常見字符串操作運算符的使用,執(zhí)行代碼如下所示:a="Hello"b="Python"print("a+b輸出結(jié)果:",a+b)print("a*2輸出結(jié)果:",a*2)print("a[1]輸出結(jié)果:",a[1])print("a[1:4]輸出結(jié)果:",a[1:4])

if("H"ina):print("H在變量a中")else:print("H不在變量a中")

if("M"notina):print("M不在變量a中")else:print("M在變量a中")

print(r'\n')print(R'\n')上述代碼的執(zhí)行結(jié)果為:a+b輸出結(jié)果:HelloPythona*2輸出結(jié)果:HelloHelloa[1]輸出結(jié)果:ea[1:4]輸出結(jié)果:ellH在變量a中M不在變量a中\(zhòng)n\n任務(wù)1Python程序的書寫規(guī)范任務(wù)2標(biāo)識符和關(guān)鍵字任務(wù)3標(biāo)準(zhǔn)數(shù)據(jù)類型任務(wù)4運算符任務(wù)5字符串類型任務(wù)6實踐活動實踐1:根據(jù)身高體重計算BMI指數(shù)BMI指數(shù)即身體質(zhì)量指數(shù),是目前國際常用的衡量人體胖瘦程度以及是否健康的一個標(biāo)準(zhǔn)。BMI指數(shù)計算公式如下:體質(zhì)指數(shù)(BMI)=體重(kg)÷(身高2)(m)本實例要求編寫程序,實現(xiàn)根據(jù)輸入的身高體重計算BMI值的功能。1.實踐分析思路如下:(1)計算BMI值之前需要使用input()函數(shù)進(jìn)行接收輸入的數(shù)據(jù)。因為體重、身高數(shù)據(jù)多使用小數(shù)表示,所以在Python中需要使用浮點類型表示體重、身高。(2)當(dāng)接收用戶輸入的身高、體重數(shù)據(jù)后,可以根據(jù)體質(zhì)指數(shù)計算公式計算BMI值,例如,身高為1.8m,體重為80kg,BMI=80/(1.8*1.8)。2.代碼實現(xiàn)本實例的具體實現(xiàn)代碼如下所示:height=float(input('請輸入您的身高(m):'))weight=float(input('請輸入您的體重(kg):'))BMI=weight/(height*height)print('您的BMI值為:',BMI)首先使用input()函數(shù)來接收用戶輸入的身高、體重數(shù)據(jù),然后將用戶的輸入

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論