《程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)》 課件 任務(wù)15:Python字符串_第1頁(yè)
《程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)》 課件 任務(wù)15:Python字符串_第2頁(yè)
《程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)》 課件 任務(wù)15:Python字符串_第3頁(yè)
《程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)》 課件 任務(wù)15:Python字符串_第4頁(yè)
《程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)》 課件 任務(wù)15:Python字符串_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

任務(wù)15

Python字符串程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)CONTENTS目錄01任務(wù)背景與目標(biāo)02字符串概述03字符串創(chuàng)建及輸出04字符串常見方法及操作05字符串應(yīng)用案例06任務(wù)測(cè)試與總結(jié)任務(wù)背景與目標(biāo)01一、任務(wù)背景

數(shù)字化時(shí)代,文本信息十分普遍。無(wú)論是聊天軟件對(duì)話、新聞文章,還是數(shù)據(jù)庫(kù)中的記錄,幾乎所有應(yīng)用程序都離不開文本數(shù)據(jù)。

Python在處理字符串方面具備顯著優(yōu)勢(shì),它提供了豐富的內(nèi)置功能,能夠高效地對(duì)文本數(shù)據(jù)進(jìn)行各種操作。?

二、任務(wù)目標(biāo)認(rèn)識(shí)Python字符串的基本概念、特點(diǎn)和適用場(chǎng)景;1.認(rèn)識(shí)Python字符串熟練掌握字符串的相關(guān)方法及操作,能夠進(jìn)行運(yùn)用字符串處理和轉(zhuǎn)換。2.掌握字符串操作3.掌握完成字符串格式化掌握字符串格式化方法并能靈活應(yīng)用,根據(jù)不同的輸出需求選擇進(jìn)行合適的格式化。字符串概述02一、字符串特點(diǎn)

字符串擁有的有序和不可變的兩個(gè)特點(diǎn)。

有序是指字符串里的字符間有序,可用下標(biāo)訪問;不可變是指字符串一旦被創(chuàng)建,內(nèi)容不可修改。Python提供豐富的字符串處理方法(如查找、替換、分割、連接、大小寫轉(zhuǎn)換等);

二、字符串適用場(chǎng)景

字符串主要用于文本處理、用戶交互、文本型數(shù)據(jù)及文件處理等場(chǎng)合。在用戶輸入輸出、文本分析、文本挖掘、自然語(yǔ)言處理等眾多環(huán)節(jié)發(fā)揮著重要作用。三、字符串編碼格式1.Unicode編碼

字符串類型(str)默認(rèn)采用的編碼,能夠表示世界上所有的字符。2.ASCII編碼

最基礎(chǔ)的字符編碼標(biāo)準(zhǔn),可表示英文字符、數(shù)字和一些特殊符號(hào),支持128個(gè)字符。

Python的字符串默認(rèn)兼容ASCII。

但只有是全部由ASCII字符組成的字符串才能直接以ASCII編碼進(jìn)行存儲(chǔ)和傳輸。

3.UTF-8、UTF-16和UTF-32編碼

能夠向后兼容ASCII碼,能表示世界上大多數(shù)語(yǔ)言的字符,在互聯(lián)網(wǎng)上最為常用,

但需要明確指定字節(jié)序(大端或小端)。UTF-8:變長(zhǎng)字符編碼,1個(gè)Unicode字符編碼占1到4個(gè)字節(jié);UTF-16:1個(gè)Unicode字符編碼占2或4個(gè)字節(jié);UTF-32:1個(gè)Unicode字符編碼占4個(gè)字節(jié)。4.GBK、GB2312和GB18030編碼專門用于表示中文字符。GB2312最早,GBK是GB2312的擴(kuò)展(支持更多的漢字和符號(hào));GB18030是GBK的超集(支持更多的字符和更廣泛的Unicode字符集)。四、轉(zhuǎn)義字符和原始字符

轉(zhuǎn)義字符:無(wú)法直接輸入的字符或具有特殊含義的字符。

它們以反斜杠(\)開始。下表是一些常見的轉(zhuǎn)義字符:格式含義格式含義\n換行符\v垂直制表\t制表符(Tab)\0空字符(NULL)\\反斜杠本身\xXX一個(gè)ASCII字符,其中XX是兩位十六進(jìn)制數(shù)\'單引號(hào)\"雙引號(hào)\uXXXX一個(gè)Unicode字符,其中XXXX是四位十六進(jìn)制數(shù)\r回車符\b退格符\UXXXXXXXX一個(gè)Unicode字符,其中XXXXXXXX是八位十六進(jìn)制數(shù)\f換頁(yè)符實(shí)例1:打印輸出中英文字符串。代碼print("Hello\n小@!")print("I\'mahumanoidrobot.")結(jié)果Hello小@!I'mahumanoidrobot.四、轉(zhuǎn)義字符和原始字符

原始字符(RawString):前面附加’r’或’R’的字符串。

原始字符串不做轉(zhuǎn)義字符處理,所有字符都是普通字符。

實(shí)例1:關(guān)于文件路徑的兩個(gè)寫法代碼#普通字符串中的反斜杠會(huì)被解釋為轉(zhuǎn)義字符path="C:\\Users\\Name\\Documents";print(path)#使用原始字符串,反斜杠不會(huì)被解釋raw_path=r"C:\Users\Name\Documents";print(raw_path)結(jié)果C:\Users\Name\DocumentsC:\Users\Name\Documents字符串創(chuàng)建及輸出03一、字符串創(chuàng)建

1.直接賦值創(chuàng)建

字符串定界符:?jiǎn)我?hào)、雙引號(hào)、三單引號(hào)或者三雙引號(hào)。直接使用“=”將一個(gè)字符串常量賦值給字符串變量。實(shí)例3:打印輸出以下代碼。代碼str1="Hello,小@!";str2='';print(str1,str2)結(jié)果Hello,小@!一、字符串創(chuàng)建

2.使用str()構(gòu)建字符串

通過(guò)str()函數(shù)將其他數(shù)據(jù)類型轉(zhuǎn)換為字符串,即可創(chuàng)建字符串對(duì)象。實(shí)例4:將數(shù)值數(shù)據(jù)和列表數(shù)據(jù)轉(zhuǎn)換為字符串。代碼num=123;str_num=str(num)print(str_num)my_list=['a','b','c']str_list=str(my_list)print(str_list)結(jié)果123['a','b','c']二、字符串輸出格式化

1.使用%操作符進(jìn)行格式化

實(shí)例5:使用%輸出。代碼x=1234.567print('%8.2f'%x)name='小@'major='人形機(jī)器人'score=466.46print('%3s'%name)print('%12s'%major)print('%5.1f'%score)結(jié)果1234.57

小@

人形機(jī)器人466.5圖4-5

使用%進(jìn)行字符格式化注意:①%前后都有空格,%前的格式串必須用引號(hào)引起來(lái)。②格式描述部分均要在英文半角狀態(tài)輸入。③當(dāng)實(shí)際寬度小于設(shè)置的最小寬度時(shí),在前面補(bǔ)空格。二、字符串輸出格式化

2.使用format()方法進(jìn)行格式化

實(shí)例5:使用%輸出。代碼name='小@';major='人形機(jī)器人';score=266.5print('我的名字:{0:8s},類別:{1:8s},智商值:{2:8.1f}分'.format('小@','人形機(jī)器人',266.5))print('我的名字:{0:3s},類別是:{1:2s},智商值:{2:5.1f}分'.format(name,major,score))print('我的名字:{name},類別:{major},智商值:{score}分'.format(name='小@',major='人形機(jī)器人',score=266.5))print('我的名字:{name:3s},類別:{major:2s},智商值:{score:5.1f}分'.format(name='小@',major='人形機(jī)器人',score=266.5))結(jié)果我的名字:小@,類別:人形機(jī)器人,智商值:266.5分我的名字:小@,類別:人形機(jī)器人,智商值:266.5分我的名字:小@,類別:人形機(jī)器人,智商值:266.5分我的名字:小@,類別:人形機(jī)器人,智商值:266.5分注意:①設(shè)置長(zhǎng)度有余量時(shí),輸出時(shí)數(shù)值前補(bǔ)空格、字符串后補(bǔ)空格,實(shí)現(xiàn)按指定長(zhǎng)度輸出。②

格式串中數(shù)據(jù)項(xiàng)的編號(hào)(冒號(hào)前的數(shù)字)須從0遞增逐項(xiàng)編號(hào)。③

格式描述部分均要在英文半角狀態(tài)輸入。格式描述部分均要在英文半角狀態(tài)輸入。二、字符串輸出格式化

3.Python3.6.x后新增的字符串格式化實(shí)例7:使用f進(jìn)行字符串格式化。代碼name='小@';major='人形機(jī)器人';score=266.5print(f'我的名字:{name},類別是:{major},智商值:{score}分')print(f'我的名字:{name:6s},類別:{major:2s},智商值:{score:8.1f}分')結(jié)果我的名字:小@,類別:人形機(jī)器人,智商值:266.5分我的名字:小@,類別:人形機(jī)器人,智商值:266.5分注意:①格式描述部分均要在英文半角狀態(tài)輸入。②設(shè)置長(zhǎng)度有余量時(shí),輸出時(shí)數(shù)值前補(bǔ)空格、字符串后補(bǔ)空格,實(shí)現(xiàn)按指定長(zhǎng)度輸出。字符串常用方法及操作04二、字符串切片

格式:

start為該段首字符下標(biāo),start默認(rèn)取字符串首字符;end為該段尾字符的下標(biāo)+1,end默認(rèn)取字符串最后一個(gè)字符(也設(shè)為-1);step即步長(zhǎng)即間隔,step默認(rèn)為1(可正可負(fù),不可為0)實(shí)例9字符串切片的獲取。代碼str='Hello!同學(xué)們好,我是人形機(jī)器人小@!'print(str[0:20:3],';',str[:20:3],';',str[0::3],';',str[::3],';',str[::-3])結(jié)果Hl同好是機(jī)小;Hl同好是機(jī)小;Hl同好是機(jī)小;Hl同好是機(jī)小;!人形我們!l作用:

從字符串的某一段中按固定間隔提取出若干字符構(gòu)新字符串。str[start:end:step]說(shuō)明:三、字符串支持的運(yùn)算符表4-2

字符串運(yùn)算符注意:①字符串的比較是按照字典序的,。②常見類別的順序:"0"<"1"<...<"9"<"A"<"B"<...<"Z"<"a"<"b"<...<"z"<漢字四、字符串常用的方法及操作命令表4-3

字符串常見方法列表方法返回結(jié)果str.lower()將字符串中的所有大寫字符轉(zhuǎn)換為小寫字符str.upper()將字符串中的所有小寫字符轉(zhuǎn)換為大寫字符str.capitalize()把字符串的第一個(gè)字符大寫str.title()將字符串中的每個(gè)單詞的首字母大寫str.swapcase()把字符串中的大小寫互換str.strip([chars])去除字符串首尾的空白字符(或指定的字符)str.lstrip([chars])去除字符串左側(cè)的空白字符(或指定的字符)str.rstrip([chars])去除字符串右側(cè)的空白字符(或指定的字符)str.split([sep,maxsplit])根據(jù)指定的分隔符將字符串分割成列表str.join(iterable)將可迭代對(duì)象的元素連接成一個(gè)字符串,元素間用str分隔str.replace(old,new,count)將字符串中的舊子串替換為新子串,最多替換指定次數(shù)str.translate(table)根據(jù)一個(gè)轉(zhuǎn)換表替換字符str.find(sub[,start[,end]])返回子串在字符串最低索引(找不到返回-1)str.index(sub[,start[,end]])返回子串在字符串中最低索引(找不到引發(fā)異常ValueError)str.startswith(prefix[,start[,end]])檢查字符串是否以指定的前綴prefix開始str.endswith(suffix[,start[,end]])檢查字符串是否以指定的后綴suffix結(jié)束四、字符串常用的方法及操作命令表4-3

字符串常見方法列表方法返回結(jié)果str.isdigit()字符串中所有字符都是數(shù)字返回True,否則返回False。str.isalpha()字符串中所有字符都是字母返回True,否則返回False。str.isalnum()字符串中所有字符都是字母或數(shù)字返回True,否則返回False。str.isspace()字符串中所有字符都是空白字符返回True,否則返回False。str.islower()檢查字符串是否全部為小寫字母str.isupper()檢查字符串是否全部為大寫字母str.isidentifier()判斷字符串是否為合法的標(biāo)識(shí)符(變量名)str.isnumeric()判斷字符串是否為數(shù)字類型(整數(shù)或浮點(diǎn)數(shù))。str.zfill(width)用0填充字符串左側(cè),直到字符串的總長(zhǎng)度為指定的寬度。str.count(sub[,start[,end]])返回子串在字符串中出現(xiàn)的次數(shù)。str.center(width,fillchar='')字符串居中對(duì)齊寬度為width,用fillchar填充空白str.ljust(width,fillchar='')`字符串左對(duì)齊,寬度為width,用fillchar填充空白str.rjust(width,fillchar='')字符串右對(duì)齊,寬度為width,用fillchar填充空白str.zfill(width)字符串左對(duì)齊,用0填充空白到寬度width字符串實(shí)例案例05【案例15-1】使用字符串顯示提示信息和接收用戶輸入一、案例描述

小@與用戶的交互中使用字符串顯示提示信息和接收用戶輸入。例如當(dāng)用戶查詢小@的狀態(tài)時(shí),可得到一個(gè)包含狀態(tài)信息的字符串,如“當(dāng)前電量為80%,正在執(zhí)行數(shù)據(jù)采集任務(wù),已采集數(shù)據(jù)50組”等。通過(guò)字符串的切片、拼接等操作還可以對(duì)用戶輸入的指令進(jìn)行解析和處理,實(shí)現(xiàn)更加智能的交互。二、案例步驟詳解1.顯示提示信息使用字符串正確并完整的顯示相關(guān)的提示信息2.接受并解析用戶輸入使用字符串對(duì)用戶輸入進(jìn)行解析三、代碼示例及顯示結(jié)果#獲取小@的初始狀態(tài)status_message="當(dāng)前電量為80%,正在執(zhí)行數(shù)據(jù)采集任務(wù),已采集數(shù)據(jù)50組"#接收用戶輸入并解析user_input=""whileTrue:user_input0=input("請(qǐng)輸入您的指令(按Q/q鍵停止):")ifuser_input0.lower()=='q':breakuser_input+=user_input0print(f"您輸入的指令為:“{user_input}”,正在為您解析....")user_input=user_input.strip()parsed_input=user_input.startswith("查詢狀態(tài)")ifparsed_input==True:parsed_input=user_inputelse:parsed_input="未知命令!"print("解析后的指令:",parsed_input)ifparsed_input=="查

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論