




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4講字符串字符串介紹格式化字符串字符串常見操作流程控制語句知識回顧作業解析課堂筆記學習目標本講要點4.1字符串介紹思考:什么是字符串?4.1字符串介紹用戶登錄系統驗證用戶登錄信息時,登錄信息是如何驗證的?什么是字符串4.1字符串介紹字符串是一種用來表示文本的數據類型,它是由符號或者數值組成的一個連續序列。'a'、'123'使用單引號使用雙引號"a"、"123"使用三引號"""Hello"""Python支持使用單引號、雙引號和三引號定義字符串,其中單引號和雙引號通常用于定義單行字符串,三引號通常用于定義多行字符串。4.1字符串介紹Python使用反斜杠“\”轉義。例如,在字符串中的引號前添加“\”,此時Python解釋器會將“\”之后的引號視為解釋為一個普通字符,而非特殊符號。print('let\'slearnPython')示例let'slearnPython結果4.1字符串介紹一些普通字符與反斜杠組合后將失去原有意義,產生新的含義。類似這樣的由“\”和普通字符組合而成的具有特殊意義的字符就是轉義字符。轉義字符通常用于表示一些無法顯示的字符,例如空格、回車等等。多學一招:轉義字符轉義字符代表含義\(在行尾時)反斜杠符號\\反斜杠符號\"
雙引號\n換行\b
退格\t橫向制表符多學一招:轉義字符4.2格式化字符串字符串的輸出比如有以下代碼:print(“我今年10歲”)print(“我今年11歲”)print("我今年12歲")...可以通過字符串格式化來完成。大家試想一下,上述代碼多次輸出"我今年xx歲",是否有一種簡化程序的方式呢?字符串的輸出name="小明"age=12print("大家好,我叫%s,今年%d歲"%(name,age))下面是字符串的格式化輸出格式化字符串是指將指定的字符串轉換為想要的格式。Python字符串可通過%格式符格式化輸出。format%values格式字符串真實數據4.2.1使用%格式化字符串不同的占位符為不同類型的變量預留位置,常見的占位符如下所示。4.2.1使用%格式化字符串常見的格式化符號格式化符號轉換%s
、%3s、%-3s通過str()字符串轉換來格式化%d
、%4d、%-4d有符號十進制整數%f
、%8.2f、%-3.1f浮點實數數字——占位數,負號"-"表示左對齊,默認為右對齊小數——小數點前是占位數,小數點后為小數位數4.2.1使用%格式化字符串使用%對字符串進行格式化的方式不直觀,一旦開發人員遺漏了替換數據或選擇了不匹配的格式符,就會導致字符串格式化失敗。為了能更直觀、便捷地格式化字符串,Python為字符串提供了一個格式化方法format()。str.format(values)格式字符串真實數據4.2.2使用format()方法格式化字符串str表示需要被格式化的字符串,字符串中包含單個或多個為真實數據占位的符號{};values表示單個或多個待替換的真實數據,多個數據之間以逗號分隔。4.2.2使用format()方法格式化字符串4.2.2使用format()方法格式化字符串format函數可以接受不限個參數,位置可以不按順序。>>>"{}{}".format("hello","world")#不設置指定位置,按默認順序'helloworld'>>>"{0}{1}".format("hello","world")#設置指定位置'helloworld'>>>"{1}{0}{1}".format("hello","world")#設置指定位置,三個占位符,2個實際參數'worldhelloworld'數字格式化本表展示了str.format()格式化數字的多種方法print("{:.2f}".format(3.1415926))f-string提供了一種更為簡潔的格式化字符串的方式,它在形式上以f或F引領字符串,在字符串中使用“{變量名}”標明被替換的真實數據和其所在位置。f('{變量名}')或F('{變量名}')格式4.2.3使用f-string格式化字符串age=20gender='男'print(f'年齡:{age},性別:{gender}')4.3精彩實例十進制是實際應用中最常使用的計數方式,除此之外,還可以采用二進制、八進制或十六進制計數。本實例要求編寫代碼,實現將用戶輸入的十進制整數轉換為指定進制的功能。4.3.1進制轉換x=56
print(f"{x}的二進制是{bin(x)}")#f格式化
print("%d的八進制是%o"%(x,x))#%s格式化
print("{}的十六進制是{}".format(x,hex(x)))#format格式化4.3.1進制轉換進度條一般以圖形的方式顯示已完成任務量和未完成任務量,并以動態文字的方式顯示任務的完成度。本實例要求編寫程序,實現如圖所示的文本進度條。4.3.2文本進度條背景知識——字符串的運算符下表實例變量a值為字符串"Hello",b變量值為"Python":4.3.2文本進度條操作符描述實例+字符串連接a+b
結果:'HelloPython'*重復輸出字符串a*2
結果:'HelloHello'[]通過索引獲取字符串中字符,索引從0開始a[1]
結果:'e'[:]截取字符串中的一部分a[1:4]
結果:'ell'in成員運算符-如果字符串中包含給定的字符返回True"H"ina
結果:Truenotin成員運算符-如果字符串中不包含給定的字符返回True"M"notina
結果:Truer/R原始字符串-原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉義特殊或不能打印的字符。原始字符串除在字符串的第一個引號前加上字母"r"(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。printr'\n'
結果:\n
printR'\n'
結果:\n背景知識——怎么讓程序睡一會兒?time庫的sleep(t)函數,t——睡眠的秒數importtimetime.sleep(0.5)4.3.2文本進度條4.3.2文本進度條importtime
incomplete_sign=50#.的數量
print('='*23+'開始下載'+'='*25)
foriinrange(incomplete_sign+1):
completed="*"*i#表示已完成
incomplete="."*(incomplete_sign-i)#表示未完成
percentage=(i/incomplete_sign)*100#百分比
print("\r{:.0f}%[{}{}]".format(percentage,completed,incomplete),end="")
time.sleep(0.5)
print("\n"+'='*23+'下載完成'+'='*25)\r—退格鍵,回到行首,{:.0f}—輸出0位小數4.4字符串的常見操作要點字符串的存儲方式字符串中的每個字符都對應一個下標,下標編號是從0開始的。4.4字符串的常見操作補充知識:切片切片的語法格式如下所示:切片選取的區間屬于左閉右開型,即從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身)[起始:結束:步長]4.4字符串的常見操作格式:
[start:stop:step]
截取子串假設有字符串name=“abcdef”,則:name[0:3]name[3:5]name[1:-1]name[2:])name[::-2]abcdebcdecdeffdb4.4字符串的常見操作start為負數,則從右端某一位置,開始向后截取stop為負數,則從右端某一位置,結束step為負數,則從右端向左提取元素使用切片4.4字符串的常見操作str='富強民主文明和諧,自由平等公正法治,愛國敬業誠信友善'
print(str[5:0:-1])截取子串使用切片4.4字符串的常見操作/python/python-strings.html——網絡學習資源Python內置了很多字符串方法(其中:format()用于格式化字符串,find()用于查找子串),也叫內建函數。可輕松實現字符串查找、替換、拼接、大小寫轉換等。字符串一旦創建不可修改,修改會變成新的字符串。find()方法:該方法可查找字符串中是否包含子串,若包含則返回子串首次出現的位置,否則返回-1。str.find(sub[,start[,end]])格式sub:指定要查找的子串。start:開始索引,默認為0。end:結束索引,默認為字符串的長度。word='t'string='Python'result=string.find(word)print(result)示例2結果4.4.1字符串的查找與替換replace()方法:將當前字符串中的指定子串替換成新的子串,并返回替換后的新字符串。str.replace(old,new[,count])格式old:被替換的舊子串。new:替換舊子串的新子串。count:表示替換舊字符串的次數,默認全部替換。string='Hesaid,"youhavetogoforward,'\'Thenturnleft,Thengoforward,andThenturnright."'#指定替換兩次new_string=string.replace("Then","then",2)print(new_string)示例Hesaid,"youhavetogoforward,thenturnleft,
thengoforward,andThenturnright."結果4.4.1字符串的查找與替換split()方法:按照指定分隔符對字符串進行分割,返回由分割后的子串組成的列表。str.split(sep=None,maxsplit=-1)格式sep:分隔符,默認為空字符。maxsplit:分割次數,默認值為-1,
表示不限制分割次數。string="Hello,mynameisWangHong"#以空格作為分割符,并分割2次print(string.split('',2))示例['Hello,','my','nameisWangHong']結果4.4.2字符串的分隔與拼接join()方法:使用將字符加入到指定字符串的中間并生成一個新的字符串。str.join(iterable)格式symbol='*'world='Python'print(symbol.join(world))示例P*y*t*h*o*n結果4.4.2字符串的分隔與拼接—加入iterable--原始“母”串,str--被加入的字符串Python還可以使用運算符“+”拼接字符串。“Py”“thon”+“Python”4.4.2字符串的分隔與拼接刪除首尾空格:Python中的strip()、lstrip()和rstrip()方法可以刪除字符串中的指定字符。4.4.3刪除字符串的指定字符刪除首尾指定字符,常用于刪除空格4.4.3刪除字符串的指定字符old_string='Lifeisshort,UsePython!'strip_str=old_string.strip()#刪除字符串頭尾的空格lstrip_str=old_string.lstrip()#刪除字符串頭部的空格rstrip=old_string.rstrip()#刪除字符串尾部的空格print(f'strip方法:{strip_str}')print(f'lstrip方法:{lstrip_str}')print(f'rstrip方法:{rstrip}')在特定情況下會對英文單詞的大小寫形式進行要求,表示特殊簡稱時全字母大寫,如CBA;表示月份、周日、節假日時每個單詞首字母大寫,如Monday。Python中支持字母大小寫轉換的方法有upper()、lower()、capitalize()和title()。4.4.4 字符串大小寫轉換4.4.4 字符串大小寫轉換old_string='hellowoRld'upper_str=old_string.upper()#字符串的字母轉換為大寫字母lower_str=old_string.lower()#字符串的字母轉換為小寫字母cap_str=old_string.capitalize()#字符串的首字母轉換為大寫字母title_str=old_string.title()#每個單詞的首字母轉換為大寫字母print(f'upper方法:{upper_str}')print(f'lower方法:{lower_str}')print(f'capitalize方法:{cap_str}')print(f'title方法:{title_str}')在使用Word處理文檔時可能需要對文檔的格式進行調整,如標題居中顯示、左對齊、右對齊等。Python提供了center()、ljust()、rjust()這3個方法來設置字符串的對齊方式。4.4.5字符串對齊4.4.5字符串對齊sentence='helloworld'center_str=sentence.center(13,'-')#長度為13,居中顯示,使用-補齊ljust_str=sentence.ljust(13,'*')#長度為13,左對齊,使用*補齊rjust_st=sentence.rjust(13,'%')#長度為13,右對齊,使用%補齊print(f"居中顯示:{center_str}")print(f"左對齊顯示:{ljust_str}")print(f"右對齊顯示:{rjust_st}")4.5精彩實例2006年4月19日,中國互聯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《嬰幼兒行為觀察與記錄》 項目一任務二思考與練習答案
- 急救護理學緒論
- 個人房屋租賃協議模板
- 2025國內貨物買賣合同模板「」
- 小學梅花魂教案
- 廣州短期裝修工程合同
- 2025合同能源效益提升宣傳口號標語
- 2025汽車銷售合同模板
- 合同糾紛處理手冊
- 人教版語文七年級下冊 第17課 短文兩篇 教案+學案+素材
- 選修-危重病學外科液體治療課件
- 第二章-社區護理程序課件
- 抑郁障礙的心理治療
- 胃腸功能紊亂
- 棚戶區改造住宅大面積拆除工程施工組織設計
- NB/T 10742-2021智能化綜采工作面設計規范
- GB/T 6320-2008杠桿齒輪比較儀
- GB/T 5538-2005動植物油脂過氧化值測定
- GB/T 5530-2005動植物油脂酸值和酸度測定
- 某智慧城市政務云平臺項目建設方案
- 德勤業務管理流程優化咨詢報告課件
評論
0/150
提交評論