Python基础知识__字符串
字符串介紹
一. 認識字符串
字符串是 Python 中最常用的數據類型。我們一般使用引號來創建字符串。創建字符串很簡單,只要為變量分配一個值即可。
a = 'hello world' b = "abcdefg" print(type(a)) print(type(b))注意:控制臺顯示結果為<class 'str'>, 即數據類型為str(字符串)。
1.1 字符串特征
-
一對引號字符串
-
三引號字符串
注意:三引號形式的字符串支持換行。
二.字符串輸出
1.格式化操作符
name = '小李'position = '講師'address = '北京市' ?print('--------------------------------------------------')print("姓名:%s" % name)print("職位:%s" % position)print("公司地址:%s" % address)print('--------------------------------------------------')結果:
--------------------------------------------------姓名: 小李職位: 講師公司地址: 北京市--------------------------------------------------2.f-strings
f-strings 提供一種簡潔易讀的方式, 可以在字符串中包含 Python 表達式. f-strings 以字母 'f' 或 'F' 為前綴, 格式化字符串使用一對單引號、雙引號、三單引號、三雙引號. 格式化字符串中
f-strings?的基本結構是這樣的:
name = '小李' age = 18 sex = '男' msg1 = F'姓名:{name},性別:{age},年齡:{sex}' # 大寫字母也可以 msg = f'姓名:{name},性別:{age},年齡:{sex}' # 建議小寫 print(msg)輸出的結果為:
姓名:小李,性別:18,年齡:男f-strings?就是在字符串的引號前面加上一個字母?f。字母大小寫都可以,但是推薦使用小寫。{}?中除了可以使用變量外,還可以放入函數:
def func(a,b):return a + b msg = f"運行結果:{func(1,2)}" print(msg)輸出的結果為:
運行結果:3甚至可以在?{}?中放入?input?函數,讓用戶輸入:
print(f"姓名:{input('請輸入姓名:')} 年齡:{input('請輸入年齡:')} 性別:{input('請輸入性別:')}")輸出的結果是:
請輸入姓名:alex 請輸入年齡:18 請輸入性別:男 姓名:alex 年齡:18 性別:男除了字符串,{} 中也可以放入列表和字典:
lst = [1, 2, 32, 34, 45, 5] msg = f"運行結果:{lst[0:3]}" print(msg)dic = {"key": 1, "key1": 22} msg = f"運行結果:{dic['key1']}" print(msg)輸出的結果為:
運行結果:[1, 2, 32] 運行結果:22f-string?可以寫成多行的形式,但依然打印成一行:
msg = f"窗前明月{'光'}," \f"玻璃好上{'霜'}。" \f"要不及時{'擦'}," \f"一會就得{'臟'}。" print(msg)輸出的結果為:
窗前明月光,玻璃好上霜。要不及時擦,一會就得臟。要想打印多行字符串,還是要使用三對引號:
msg = f""" 窗前明月{'光'}, 玻璃好上{'霜'}. 要不及時{'擦'}, 一會就得{'臟'}. """ print(msg)通過使用三元運算,配合 f-strings,我們可以進一步節省代碼:
a = 10 b = 20 msg = f"{a if a < b else b}" print(msg)同時使用兩個括號表示一個可以打印的大括號:
msg = f"{{'alex': 'wusir'}}" print(msg)輸出的結果為:
{'alex': 'wusir'}字符串輸入;
注意:input獲取的數據,都以字符串的方式進行保存,即使輸入的是數字,那么也是以字符串方式保存
demo:
userName = input('請輸入用戶名:')print("用戶名為:%s" % userName) ?password = input('請輸入密碼:')print("密碼為:%s" % password)結果:(根據輸入的不同結果也不同)
請輸入用戶名:xiaoli用戶名為: 110請輸入密碼:123456密碼為: 123456下標和切片
1. 下標索引
所謂“下標”,就是編號,就好比超市中的存儲柜的編號,通過這個編號就能找到相應的存儲空間
字符串中"下標"的使用
列表與元組支持下標索引好理解,字符串實際上就是字符的數組,所以也支持下標索引。
如果有字符串:name = 'abcdef',在內存中的實際存儲如下:
如果想取出部分字符,那么可以通過下標的方法,(注意python中下標從 0 開始)
name = 'abcdef' ?print(name[0])print(name[1])print(name[2])運行結果:
a b c2. 切片
切片是指對操作的對象截取其中一部分的操作。字符串、列表、元組都支持切片操作。
切片的語法:[起始:結束:步長]
注意:選取的區間從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身),步長表示選取間隔。
我們以字符串為例講解。
如果取出一部分,則可以在中括號[]中,使用:
name = 'abcdef' ?print(name[0:3]) # 取 下標0~2 的字符運行結果:
name = 'abcdef' ?print(name[0:5]) # 取 下標為0~4 的字符運行結果:
name = 'abcdef' ?print(name[3:5]) # 取 下標為3、4 的字符運行結果:
name = 'abcdef' ?print(name[2:]) # 取 下標為2開始到最后的字符運行結果:
name = 'abcdef' ?print(name[1:-1]) # 取 下標為1開始 到 最后第2個 之間的字符 ?運行結果:
想一想
-
(面試題)給定一個字符串aStr, 請反轉字符串
字符串常見操作
如有字符串mystr = 'hello world itcast and itcastcpp',以下是常見的操作
<1>find
檢測 str 是否包含在 mystr中,如果是返回開始的索引值,否則返回-1
語法
示例
<2>index
跟find()方法一樣,只不過如果str不在 mystr中會報一個異常.
語法
示例
<3>count
返回 str在start和end之間 在 mystr里面出現的次數
語法
示例
<4>replace
把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.
語法
示例
<5>split
以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 個子字符串
語法
示例
<6>capitalize
把字符串的第一個字符大寫
mystr.capitalize()<7>title
把字符串的每個單詞首字母大寫
>>> a = "hello itcast" >>> a.title() 'Hello Itcast'<8>startswith
檢查字符串是否是以 hello 開頭, 是則返回 True,否則返回 False
語法
2.示例
mystr.startswith(hello)<9>endswith
檢查字符串是否以obj結束,如果是返回True,否則返回 False.
mystr.endswith(obj)<10>lower
轉換 mystr 中所有大寫字符為小寫
mystr.lower()<11>upper
轉換 mystr 中的小寫字母為大寫
mystr.upper()<12>ljust
返回一個原字符串左對齊,并使用空格填充至長度 width 的新字符串
mystr.ljust(width)<13>rjust
返回一個原字符串右對齊,并使用空格填充至長度 width 的新字符串
mystr.rjust(width)<14>center
返回一個原字符串居中,并使用空格填充至長度 width 的新字符串
mystr.center(width)<15>lstrip
刪除 mystr 左邊的空白字符
mystr.lstrip()<16>rstrip
刪除 mystr 字符串末尾的空白字符
mystr.rstrip()<17>strip
刪除mystr字符串兩端的空白字符
>>> a = "\n\t itcast \t\n" >>> a.strip() 'itcast'<18>rfind
類似于 find()函數,不過是從右邊開始查找.
mystr.rfind(str, start=0,end=len(mystr) )<19>rindex
類似于 index(),不過是從右邊開始.
mystr.rindex( str, start=0,end=len(mystr))<20>partition
把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)<21>rpartition
類似于 partition()函數,不過是從右邊開始.
mystr.rpartition(str)<22>splitlines
按照行分隔,返回一個包含各行作為元素的列表
mystr.splitlines()<23>isalpha
如果 mystr 所有字符都是字母 則返回 True,否則返回 False
mystr.isalpha()<24>isdigit
如果 mystr 只包含數字則返回 True 否則返回 False.
mystr.isdigit()<25>isalnum
如果 mystr 所有字符都是字母或數字則返回 True,否則返回 False
mystr.isalnum()<26>isspace
如果 mystr 中只包含空格,則返回 True,否則返回 False.
mystr.isspace()<27>join
mystr 中每個元素后面插入str,構造出一個新的字符串
語法
示例
#想一想
-
(面試題)給定一個字符串aStr,返回使用空格或者'\t'分割后的倒數第二個子串
總結
以上是生活随笔為你收集整理的Python基础知识__字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言作业题五六章答案,数据结构(C语言
- 下一篇: 【Pytorch神经网络实战案例】04