日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【思维导图】Python中常用的8种字符串操作

發(fā)布時間:2025/3/20 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【思维导图】Python中常用的8种字符串操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章末尾獲取思維導圖高清源文件

拼接字符串

使用“+”可以對多個字符串進行拼接
語法格式:str1 + str2

>>> str1 = "aaa" >>> str2 = "bbb" >>> print(str1 + str2) aaabbb

需要注意的是字符串不允許直接與其他類型進行拼接,例如

>>> num = 100 >>> str1 = "hello" >>> print(str1 + num) Traceback (most recent call last):File "<pyshell#5>", line 1, in <module>print(str1 + num) TypeError: can only concatenate str (not "int") to str

上面這種情況我們可以將num轉(zhuǎn)換為字符串再進行拼接

>>> num = 100 >>> str1 = "hello" >>> print(str1 + str(num)) hello100

這樣就不會報錯了

計算字符串的長度

在Python中使用len()函數(shù)來計算字符串的長度
語法格式:len(string)

>>> str1 = "hello" >>> len(str1) 5 >>> str2 = "你好" >>> len(str2) 2 >>> str3 = "1111" >>> len(str3) 4

從上面的結(jié)果我們可以看出,在默認情況下,len函數(shù)在計算字符串的長度時,無論是數(shù)字,字母還是多字節(jié)的漢字都認為是一個字符。
為什么說是默認情況下呢,因為在實際開發(fā)中,可能因為我們采取的編碼不同,字符串實際所占的字節(jié)數(shù)也不同。

  • UTF-8編碼,漢字占3個字節(jié)
  • GBK或者GB2312,漢字占2個字節(jié)
    這時我們可以通過使用encode()方法進行編碼后再進行獲取長度。
    例如:
>>> str1 = "你好" >>> len(str1) 2 >>> len(str1.encode('gbk')) 4 >>> len(str1.encode('utf-8')) 6

截取字符串

語法格式:string[start : end : step]
參數(shù)說明

  • string:表示要截取的字符串
  • start:表示要截取的第一個字符的索引(包括該字符),如果不指定,則默認為0
  • end:表示要截取的最后一個字符的索引(不包括該字符),如果不指定則默認為字符串的長度。
  • step:表示切片的步長,如果省略,則默認為1,當省略該步長時,最后一個冒號也可以省略。
>>> str1 = "hello world!" >>> str1[1] #截取第2個字符 'e' >>> str1[2:] #從第3個字符開始截取 'llo world!' >>> str1[:4] 'hell' >>> str1[1:5] 'ello' >>> str1[-1] #截取最后一個字符 '!' >>> str1[2:-2] 'llo worl'

注意:字符串的索引是從0開始的

分割字符串

python中分割字符串是使用split()方法把字符串分割成列表
語法格式: str.split(sep, maxsplit)
參數(shù)說明:

  • str:表示要進行分割的字符串
  • sep:用于指定分隔符,可以包含多個字符,默認為None,即所有空字符(包括空格、換行"\n”、制表符“\t”等)。
  • maxsplit:可選參數(shù),用于指定分割的次數(shù),如果不指定或者為-1,則分割次數(shù)沒有限制,否則返回結(jié)果列表的元素個數(shù)最多為 maxsplit+1
  • 返回值:分隔后的字符串列表。
>>> str1 = "i am a good boy!" >>> str1.split() #采用默認分割符進行分割 ['i', 'am', 'a', 'good', 'boy!'] >>> str1.split(" ") #采用空格進行分割 ['i', 'am', 'a', 'good', 'boy!'] >>> str1.split(" ", 3) #采用空格進行分割,并且只分割前3個 ['i', 'am', 'a', 'good boy!']

注意默認情況下按空格分割

檢索字符串

python中字符串的查找方法
1、count()方法
語法格式:str.count(sub[, start[, end]])
作用:用于檢索指定字符串在另一個字符串中出現(xiàn)的次數(shù),如果檢索的字符串不存在則返回0,否則返回出現(xiàn)的次數(shù)。
參數(shù)說明

  • str:表示原字符串
  • sub:表示要檢索的子字符串
  • start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索
  • end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾
>>> str1 = "hello world" >>> print(str1.count('o')) 2

2、find()方法
語法格式:str.find(sub[, start[, end]])
作用:檢索是否包含指定的字符串,如果檢索的字符串不存在則返回-1,否則返回首次出現(xiàn)該字符串時的索引。

>>> str1 = "hello world!" >>> str1.find('wo') 6

3、index()方法
語法格式:str.index(sub[, start[, end]])
作用:和find方法類似,也用于檢索是否包含指定的字符串,使用index方法,當指定的字符串不存在時會拋異常。

>>> str1 = "hello world!" >>> str1.index('w') 6 >>> str1.index('m') Traceback (most recent call last):File "<pyshell#6>", line 1, in <module>str1.index('m') ValueError: substring not found >>> str1.find('m') -1

4、startswith()方法
語法格式:str.startswith(prefix[, start[, end]])
作用:檢索字符串是否以指定的字符串開頭,如果是則返回true,否則返回false。

>>> str1 = "hello world!" >>> str1.startswith('hello') True >>> str1.startswith('hi') False >>>

5、endswith()方法
語法格式:str.endswith(prefix[, start[, end]])
作用:檢索字符串是否以指定的字符串結(jié)尾,如果是則返回true,否則返回false。

>>> str1 = "hello world!" >>> str1.endswith('world!') True >>> str1.endswith('haha') False

字符串的大小寫轉(zhuǎn)換

1、lower()方法
語法格式:str.lower()
作用:將字符串中的大寫字母轉(zhuǎn)換為小寫字母

>>> str1 = "Hello World!" >>> str1.lower() 'hello world!'

2、upper()方法
語法格式:str.upper()
作用:將字符串中的小寫字母轉(zhuǎn)換為大寫字母

>>> str1 = "Hello World!" >>> str1.upper() 'HELLO WORLD!'

去除字符串中的空格和特殊字符

開發(fā)中,我們會遇到這樣的需求,字符串前后(左右側(cè))不允許出現(xiàn)空格和特殊字符或者將用戶輸入的字符串中誤輸入的空格去除掉。這時我們就需要用到strip函數(shù)。
1、strip()方法
語法格式:str.strip([chars])
作用:去除字符串前后(左右側(cè))的空格或特殊字符

>>> str1 = " hello world! " >>> str1.strip() 'hello world!' >>> str2 = "#hello world#@#" >>> str2.strip('#') 'hello world#@' >>> str3 = "@hello world!@." >>> str3.strip('@.') 'hello world!'

2、lstrip()方法
語法格式:str.lstrip([chars])
作用:去除字符串前面(左側(cè))的空格或特殊字符

>>> str1 = " hello world! " >>> str1.lstrip() 'hello world! ' >>> str2 = "#hello world#@#" >>> str2.lstrip('#') 'hello world#@#' >>> str3 = "@.hello world!@." >>> str3.lstrip('@.') 'hello world!@.'

3、rstrip()方法
語法格式:str.rstrip([chars])
作用:去除字符串后面(右側(cè))的空格或特殊字符

>>> str1 = " hello world! " >>> str1.rstrip() ' hello world!' >>> str2 = "#hello world#@#" >>> str2.rstrip('#') '#hello world#@' >>> str3 = "@.hello world!@." >>> str3.rstrip('@.') '@.hello world!'

格式化字符串

所謂格式化字符串就是先制定一個模板,在模板中預(yù)留幾個空位,然后根據(jù)需要填上相應(yīng)的內(nèi)容。
####使用“%”操作符
語法格式:'%[-][+][0][.n]格式化字符'%exp
參數(shù)說明

  • -:可選參數(shù),用于指定左對齊,正數(shù)前方無符號,負數(shù)前面加負號
  • +:可選參數(shù),用于指定右對齊,正數(shù)前方加正號,負數(shù)前方加負號
  • 0:可選參數(shù),表示右對齊,正數(shù)前方無符號,負數(shù)前方加負號,用0填充空白處(一般與m參數(shù)一起使用)
  • m:可選參數(shù),表示占有寬度
  • n:可選參數(shù),表示小數(shù)點后保留的位數(shù)
  • 格式化字符:用于指定類型,其值如下表所示
  • exp:要轉(zhuǎn)換的項,如果要指定的項有多個,需要通過元組的形式進行指定,但不能使用列表。
>>> template = '學號:%d,姓名:%s,班級:%s' >>> print(template% (123,'張三','一年級')) 學號:123,姓名:張三,班級:一年級

好了,關(guān)于Python中字符串的操作方法就介紹到這里,希望可以幫助到大家。
需要思維導圖源文件的請留言你的郵箱

總結(jié)

以上是生活随笔為你收集整理的【思维导图】Python中常用的8种字符串操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。