python筆記03 字串及其主要使用方法

2021-10-09 23:22:26 字數 2839 閱讀 1730

字串是python中最常用的資料型別之一,使用單引號或雙引號來建立字串

str1 = 'i love python'

print(str1)

i love python
我們也可以使用三引號來建立字串(』』』 『』'和""" 「」")

str1 ='''

when i wake up in the morning,

you are all i see;

when i think about you,

'''print(str1)

這是網上隨便找的詩歌,

我們要注意三引號內部的格式在列印時也會被完整的列印出來。

when i wake up in the morning,

you are all i see;

when i think about you,

空格和換行符』\n』都能被列印出來

###(1).索引

如果想把『i love python』中的第3個字母列印出來只需要這樣

print(str1[2])
可能你會有疑問:為什麼是2不是3?

這就要引入索引的概念了

i love python

0->i,1-> ,2->l,3->o,4->v,5->e,6-> ,7->p,8->y,9->t,10->h,11->o,12->n

字串中的每乙個字元對應乙個索引值,而這個值是從0開始的所以上面是2不是3

如果我想輸出字串的最後乙個字元哪是不是就是[12]

print(str1[12])
n
完全正確,但是其實還有更好的辦法喲

###(2).切片

這個用法就像它的名字一樣,把字串切成一塊一塊的。

print(str1[7:13])  #左閉右開

print(str1[0:7])

python

i love

大家看這句print(str1[7:13]),列印的是『python』 選取的區間是7到13,大家可以理解為切片是左閉右開的,或者說是左邊的範圍會包含,右邊的卻不會。

切片操作還有更靈活的地方

print(str1[:])

print(str1[7:])

print(str1[:7]+'python!')

i love python

python

i love python!

沒錯,如果左邊的範圍不寫,就預設是0,右邊的不寫就預設是len(當前的字串)-1

還沒完,還有步長這個神奇的東西

print(str7[::2])

print(str7[::-1])

ilv yhn

nohtyp evol i

『2』就是每次向前進走兩步

而『-1』就是從右向左每次走一步

(3).字串的初始化

最簡單的辦法:

str1 = 'i love c'
假如某天不愛c了,還要整句都改嗎

我們可以這樣

str1 = 'i love '

str2 = 'python'

print(str1+str2)

i love python
字串的初始化還有以下方法

str1 = 'love'

str2 = 'python'

print('i %s %s'%(str1,str2))

結果和上面是一樣的,語句中%s是佔位符,有點像圖書館佔座一樣,先把位置佔好,字串來了直接往裡一坐。

str3 = 'i {} {}'.format(str1,str2)

str4 = 'i '.format(str2,str1)

結果同上,注意{}內是可以加索引的。

str5 = f'i  '

print(str5)

我們也可以不用format直接把字串的變數名加到{}裡面,

這種方法還有乙個好處,那就是它不只是加字串,還可以加入其他型別

str11= 'am'

int1= 23

str6 = f'i '

print(str6)

i am 23
字串(str)的庫函式有很多這裡就簡單講幾個常用的。

print(str1.find('i'))

print(str1.find('b'))

0

-1

find是尋找()內的字元,把它第一次出現的索引值返回回來

當()內的字元不存在於要找的字串中會返回『-1』

print(str1.index('i'))

print(str1.index('b'))

index與find差不多,但是不同之處在於沒找到()內的值會報錯

print(str1.index('b'))

valueerror: substring not found

先寫到這裡以後會繼續補充的

演算法筆記03 字串01

1.字串的構造 string s0 hello world string s1 s0 s1拷貝s0 string s2 s0,8,3 s2從s0下標第8號開始拷貝3位,s2 rld string s3 hello world s3拷貝字串 string s4 hello world 5 s4拷貝he...

03 字串 基礎

1.string s new string abc 此時記憶體有兩個物件 stringpool裡 abc 堆空間 new string abc string s1 abc 因stringpool裡已經有 abc 物件,所以不會再產生,此時記憶體有兩個物件 string s2 new string a...

Python筆記(二)字串

記憶體位址 字串為不可變型別,原先指向字串的位址是不可改變的 line he line copy line print id line 2607584542648 print id line copy 2607584542648 line she he print id line 260758458...