溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python 字符串(12)

發(fā)布時(shí)間:2020-06-15 00:54:32 來(lái)源:網(wǎng)絡(luò) 閱讀:259 作者:qq5d6f345f0205e 欄目:編程語(yǔ)言

在?python變量?文章中我們對(duì)python變量做了一個(gè)簡(jiǎn)單的了解,整數(shù)/浮點(diǎn)數(shù)/bool值相對(duì)來(lái)講都比較簡(jiǎn)單,今天詳細(xì)在講解一下關(guān)于字符串的內(nèi)容,字符串俗稱:str

在本文會(huì)大量的使用print 和format 函數(shù),如果還有不太熟悉使用的盆友,請(qǐng)先預(yù)習(xí):關(guān)于python開發(fā)中print 函數(shù)和format 函數(shù)詳細(xì)解釋

?

一.字符串運(yùn)算符

介紹兩個(gè)關(guān)于python字符串的運(yùn)算符,”in” 和 “not in”,主要用于檢測(cè)字符串中是否存在某個(gè)字符或者字符串,如果存在返回True,不存在返回False,直接上代碼演示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解憂

@Blog(個(gè)人博客地址): shuopython.com

@WeChat Official Account(微信公眾號(hào)):猿說python

@Github:www.github.com

@File:string123.py

@Time:2019/9/23 20:45

?

@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!

"""

?

# 檢測(cè)單個(gè)字符

str1 = "hello world"

if "h" in str1:

????print("{} 字符串包含 'h'".format(str1))??# 注意單引號(hào)和雙引號(hào)的配合使用

else:

????print("{} 字符串不包含 'h'".format(str1))

?

# 檢測(cè)字符串

if "hello" in str1:

????print("{} 字符串包含 'hello'".format(str1))??# 注意單引號(hào)和雙引號(hào)的配合使用

else:

????print("{} 字符串不包含 'hello'".format(str1))

?

# 使用 not in

if "hllo" not in str1:

????print("{} 字符串不包含 'hllo'".format(str1))??# 注意單引號(hào)和雙引號(hào)的配合使用

else:

????print("{} 字符串包含 'hllo'".format(str1))

輸出結(jié)果:

1

2

3

hello world 字符串包含 'h'

hello world 字符串包含 'hello'

hello world 字符串不包含 'hllo'

?

二.字符串構(gòu)造

字符串可以直接拼接,同樣也可以使用format 函數(shù)或者 % 符號(hào)構(gòu)造,代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

# 方法一:兩個(gè)字符串直接相加拼接在一起

str1 = "hello"

str2 = "world"

str3 = str1 + str2

print("str3 = %s " % str3)

print("{} + {} = {}".format(str1,str2,str3))

?

print("**"*20)

# 方法二:使用format

str4 = "{} {} {}".format("猿說python","python教程","字符串")

print("str4 = %s " % str4)

str5 = "{2} {1} {0}".format("YOU","LOVE","I")??# 注意使用下標(biāo)索引值,默認(rèn)重0開始

print("str5 = %s " % str5)

?

print("**"*20)

# 方法三:使用 % 符號(hào) ,% 使用方法與print類似

str6 = "%s%s%s" % ("不積跬步無(wú)以至千里",",不積小流無(wú)以成江海",

?????????????????? ",程序人生的精彩需要堅(jiān)持不懈地積累!")

print(str6)

輸出結(jié)果:

1

2

3

4

5

6

7

str3 = helloworld

hello + world = helloworld

****************************************

str4 = 猿說python python教程 字符串

str5 = I LOVE YOU

****************************************

不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!

?

三.字符串遍歷

可以通過for循環(huán)或者while循環(huán)遍歷字符串中的每一個(gè)字符,在下面代碼中有一個(gè)內(nèi)置函數(shù)len()函數(shù),用于獲取字符串長(zhǎng)度,代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

str1 = "hello world"

print("%s 字符串總長(zhǎng)度:%d" % (str1,len(str1))) # len()獲取字符串長(zhǎng)度

?

#方法一:

for i in str1:

????print(i,end="-")??# print 函數(shù)默認(rèn)換行,強(qiáng)制將換行符改為 '-',可以改為任意字符

????

print("\n") # "\n" 表示換行

print("*"*20)

?

#方法二:

for i in range(0,len(str1)):

????print(str1[i],end=' ') # 每個(gè)字符以空格隔開

?

print("\n") # "\n" 表示換行

print("*"*20)

?

#方法三:

a = 0

while a < len(str1):

????print("str[%d] = %s " % (a,str1[a]))

????a += 1

print("程序結(jié)束,退出程序")

輸出結(jié)果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

hello world 字符串總長(zhǎng)度:11

h-e-l-l-o- -w-o-r-l-d-

?

********************

h e l l o?? w o r l d

?

********************

str[0] = h

str[1] = e

str[2] = l

str[3] = l

str[4] = o

str[5] =??

str[6] = w

str[7] = o

str[8] = r

str[9] = l

str[10] = d

程序結(jié)束,退出程序

?

四.字符串截取

字符串中的每一個(gè)字符都有一個(gè)默認(rèn)的索引值,從左到右默認(rèn)重0開始,依次遞增;從右往左默認(rèn)重-1開始,依次遞增;

python 字符串(12)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

str1 = "猿說python"

print(len(str1))????????????# 內(nèi)置函數(shù) len() 獲取字符串長(zhǎng)度

print(str1)???????????????? # 打印字符串

print(str1[2])??????????????# 獲取字符串中的第二個(gè)字符

print(str1[0:2])????????????# 截取字符串索引值為0~1的字符,不包括索引值為2的字符

print(str1[2:5])????????????# 截取字符串索引值為2~4的字符,不包括索引值為5的字符

print(str1[2:-1])?????????? # 截取字符串重索引值為2開始直到字符串結(jié)尾的前一個(gè),-1的索引值表示最后一個(gè)

print(str1[2:len(str1)])????# 截取字符串索引值2~8,最后一個(gè)字符的索引值為7,所以剛剛好能截取到字符串末尾

?

# 截取在列表中索引值為0-4的數(shù)據(jù),冒號(hào)前面不設(shè)置參數(shù),默認(rèn)重0開始,注意截取并不包括4

print(str1[:4])

# 截取在列表中索引值為2-末尾的數(shù)據(jù),冒號(hào)后面不設(shè)置參數(shù),默認(rèn)截取到最后一位數(shù)據(jù),注意截取包括最后一位????????????

print(str1[2:])????????????

?

print("程序結(jié)束,退出程序")

輸出結(jié)果:

1

2

3

4

5

6

7

8

9

10

8

猿說python

p

猿說

pyt

pytho

python

猿說py

python

程序結(jié)束,退出程序

注意:在上面 print(str1[2:-1]) 改行代碼中,-1 表示最后一位字符串索引,但是截取的范圍并不包括字符串的最后一位。

?

五.字符串替換 – replace()方法

語(yǔ)法:


1

2

3

4

5

6

7

'''

字符串替換方法:替換字符串中指定的內(nèi)容,并返回新的字符串

????old:字符串中需要被替換的字符或者字符串(舊字符串,原本一直就在字符串)

????new:替換之后的內(nèi)容(新字符串,添加到字符串代替old的內(nèi)容)

'''

?

str.replace(old, new)


代碼:


1

2

3

4

5

6

7

str1 = "hello world"

str1 = str1.replace("hello","猿說PYTHON")

print(str1)

?

str1 = "hello world"

str1 = str1.replace("world","python 教程")

print(str1)

輸出內(nèi)容:

1

2

猿說PYTHON world

hello python 教程

?

六.字符串大小寫

對(duì)字符串進(jìn)行大小寫轉(zhuǎn)換處理

1

2

3

4

5

str = "www.shuopython.com"

print(str.upper())??????????# 把所有字符中的小寫字母轉(zhuǎn)換成大寫字母

print(str.lower())??????????# 把所有字符中的大寫字母轉(zhuǎn)換成小寫字母

print(str.capitalize())???? # 把第一個(gè)字母轉(zhuǎn)化為大寫字母,其余小寫

print(str.title())??????????# 把每個(gè)單詞的第一個(gè)字母轉(zhuǎn)化為大寫,其余小寫

輸出結(jié)果:

1

2

3

4

WWW.SHUOPYTHON.COM

www.shuopython.com

Www.shuopython.com

Www.Shuopython.Com

關(guān)于字符串的函數(shù)還有很多,由于篇幅有限,后面的文章我們繼續(xù)講解更多關(guān)于python字符串相關(guān)函數(shù)。

?

猜你喜歡:

1.python print 和format詳細(xì)使用教程

2.python變量的簡(jiǎn)單介紹

?

轉(zhuǎn)載請(qǐng)注明:猿說Python???python字符串


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI