Python(19)-字符串、Unicode字符串
高級數據類型--字符串、Unicode字符串
- 1.字符串的定義
- 2.字符串的長度、計數、Index
- 3.字符串常用方法
- 3.1判斷類型
- 3.2查找和替換
- 3.3文本對齊
- 3.4去除空白字符.strip()
- 4.字符串的拆分和拼接
- 5.字符串的切片
- 6.跨行字符串
- 7.包含轉義字符r
- 8.字符串的分割與連接
- 9.Unicode字符串
字符串-不變性,不能通過索引對其做任何修改
1.字符串的定義
字符串用于存儲多個字符,可以用單引號和雙引號來定義字符串,大多數編程語言都是使用雙引號,為了和其他語言接軌,建議使用雙引號進行字符串定義。
str1=“python”
使用單引號定義字符串的情形:字符串中帶雙引號,那么字符串用單引號定義
Str2='我的名字是"大西瓜" ’
字符串元素訪問:[]+索引。
循環遍歷,對其中元素進行相同的操作
2.字符串的長度、計數、Index
子字符串:字符串中的一部分元素組成的字符串
hello_str=“hello hello”
1.計算字符串包含的字符數,即字符串的長度。
print(len(hello_str))
2.計算字符串中包含的子字符串的數目。如果子串不存在,計數結果為0。
print(hello_str.count(“llo”))
3.輸出子字符串出現的位置(第一個字符的位置),子串不存在會報錯。
print(hello_str.index(“abc”))
3.字符串常用方法
字符串有四類常用的方法:判斷類型、查找和替換、文本對齊、去除空白字符
在平常應用需求中,明確方法類別,查找方法,查看參數,使用方法,不用死記硬背,編寫測試方法。
3.1判斷類型
判斷方法返回一個True或者False.
1判斷是不是只有空白字符,空白字符包括:空格,\t, \n ,\r。回車\r回到本行的開始,Linux:\n換行,win:\r+\n 實現換行。
space_str=" \n \t"
print(space_str.isspace())
輸出:True
2.判斷是否只包含數字
num_str="\u00b2"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
以上三個方法都不能判斷小數,能判斷的范圍越來越大
print(num_str.isdecimal()),能力最小,只能判斷一般的數字
print(num_str.isdigit())能判斷unicode字符串(不能直接在鍵盤中輸出的數字(1)) (這個版本的好像還是不行Python2.7)
print(num_str.isnumeric())能判斷中文數字一、二、等,這個版本的好像還是不行Python2.7)
3.Isalpha()是不是只有字母組成
Istitle()是否首字母大寫
Isup()是否全部都大寫
Islow()是否全部都小寫
3.2查找和替換
hello_str=“hello world”
1.判斷以指定字符串開頭(區分大小寫哦)
print(hello_str.startswith(“Hello”))
輸出:False
2.判斷以指定字符串結尾(區分大小寫哦)
print(hello_str.endswith(“world”))
輸出:True
3.查找是否存在某一個子串;如果存在,輸出對應索引;如果不存在,輸出-1。與index方法很相似,區別:如果子串不在原來字符串中,find方法返回-1,并不會報錯。
print(hello_str.find(“llo”))
輸出:2
print(hello_str.find(“123”))
輸出:-1
4.替換:用指定的子串替換原串內容,執行完成后返回一個新的字符串,不會修改原來的字符串。
print(hello_str.replace(“world”,“pyhton”))
輸出hello pyhton
print(hello_str)
輸出hello world
3.3文本對齊
支持輸出字符串左對齊,右對齊,居中對齊
poem=["草","白居易","離開原上草" ]for poem_str in poem:print("|%s|"%poem_str.center(30,"*"))所有的字符串有一個固定的內容,輸出就能夠居中了
居中的數值也是需要調整的(本例子中用30),默認使用英文的空格進行居中處理,但是效果不太好,filchar中填入一個全角中文空格,即可實現完全對齊,(Python2.7版本的沒有實現對齊呢)
左對齊:
print(poem_str.ljust(30))
右對齊:
print(poem_str.rjust(30))
3.4去除空白字符.strip()
.strip()方法可以去除空白符,包括換行符號。
poem=["\t\n草","白居易","\t離開原上草" ] for poem_str in poem:#輸出原來字符串,有空白符,很不整齊print("|%s|"%poem_str) for poem_str in poem:#直接居中輸出print("|%s|"%poem_str.center(30,"*"))沒去除空白符在居中輸出的結果(原諒我居中效果不是很好)
去除空白符后的輸出結果:
4.字符串的拆分和拼接
poem_str="\t\n草 白居易,\n離開原上草\t一歲一枯榮" print(poem_str)poem_list=poem_str.split()for poem_list_str in poem_list:print(poem_list_str)result=" ".join(poem_list)print(result)1.poem_str.split()方法去拆分一個字符串,如果不指定分隔符,方法默認以空白符作為分隔符;也就是說,有空白符的地方都會被分隔;拆分后返回一個字符串列表。
2." ".join(poem_list) 方法使用“ “作為分隔符拼接一個整齊的字符串,方法執行完成后返回一個字符串
5.字符串的切片
切片操作適用于字符串,列表,元組
語法:字符串[開始索引:結束索引:步長] ,不包含結束索引對應的內容
步長:有間隔的進行切片。
結束索引不指定,就可以切到最后一個元素。
順序索引:第一個元素對應的索引為0,其后依次遞增
倒序索引:最后一個元素的索引為-1,其前依次是-2,-3,-4
原序列:
步長為負可以從右向左進行切片,對應的索引順序也應該由大到小。
正序索引的例子:
溫馨提示:只有精通,才會思變,因為,簡便是驅動力,截圖工具的更換
6.跨行字符串
# 跨行字符串用三引號定義,(且別python的多行注視) # 行尾添加\去除換行符號 s1 = '''你好 明天''' s2 = '''你好\ 明天''' print(s1) print(s2)輸出
你好 明天 你好明天7.包含轉義字符r
# 字符串包含轉義字符,用r表示不轉義的字符 print('E:\note\Python') print(r'E:\note\Python')輸出
E: ote\Python E:\note\Python8.字符串的分割與連接
str1 = "Zootopia" print(str1.find("to")) # 返回第一個to的索引 str2 = "Z o o t o p i a" print(str2.split(" ")) # 以" "分割原字符串,返回一個list,['Z', 'o', 'o', 't', 'o', 'p', 'i', 'a'] print("".join(str2.split(" "))) # 將字符串,List,元組中的元素以指定的字符連接一起。 str3 = ">".join(str1) # Z>o>o>t>o>p>i>a9.Unicode字符串
# Unicode 更多了是一種編碼規則 # 優點是:為現代和古代每一個字符提供了一個統一的序號 # 創建:在字符串前面加u unicode_str = u'\u4f60\u597d' print(unicode_str) # 輸出:你好總結
以上是生活随笔為你收集整理的Python(19)-字符串、Unicode字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据学习(2-1)-Hadoop安装教
- 下一篇: python(15)-window7配置