day07字串的常用操作

2021-10-07 23:37:54 字數 4845 閱讀 4946

可變資料型別:值發生改變時,id不變,證明只是改變了原值—》id與值不繫結,可以任意的修改值

不可變型別:值發生改變時,id發生改變 ,證明是產生了新的值 —》id與值繫結,id變化的同時代表變數繫結了乙個新的物件,與原物件無關

ps:即改變值得同時id也變化得則是不可變資料型別,改變值的時候id不變的則是可變資料型別

資料型別可變/不可變

整型不可變

字串不可變

元組不可變

列表可變

集合可變

字典可變

例子:age = 10

本質:age = int(10)

ps:名字+括號的意思就是呼叫某個功能,如:int()就是呼叫建立整形資料的功能

int()可以將純整數轉換成整型,不能包含其他任何符號

str()可以將任何事物轉換成字串

bin()轉換成二進位制

oct()轉換成8進製

hex()轉換成16進製制

>>

>

str[1]

= a#只能取值不能修改

str=

str[1]

='q'

print

(str[1

])#typeerror: 'str' object does not support item assignment

2.切片(顧頭不顧尾)

print

(str[0

:9])

#取出字串0到8的字元

>>

>sadness p

#[a:b:c]有三個引數 a代表開始 b代表到第幾個字元結束 c代表步長每次加幾

print

(str[0

:9:2

])>>

>sdesp

#反向切片

print

(str[:

:-1]

)#表示從左往右取值

>>

>elppaenip ssendas

3.長度

len

(str

)#獲取字串長度

4.判斷一段字元是否在字串裡面

#in和not in

print

('sadness'

instr

)>>

>

true

print

('sadness'

notin

str)

>>

>

false

5.移除首尾指定的字元

#strip 翻譯:除去,剝去(一層);(尤指)剝光

#lstrip-> left strip 只去除左邊的, rstrip->right strip 只去除右邊的

#只能指定首尾的,對中間的字串並不能起到效果

print

(str

.strip(

'a')

)>>

#他會檢索括號內所有的字元觀察是否首段有符合的字元

print

(str

.strip(

'qws'))

>>

#與順序無關

print

(str

.strip(

'asd'))

>>

6.切分split

#split()看到指定字元進行切分,若括號內不指定字元,則預設以空格作為切分符號

#切分後以列表的形式將切分後的資料裝在裡面

#使用方法:字串.split()

#遇見第乙個括號中指定的字元便會停下,不會繼續切分

#split 翻譯:分開,使分開(成為幾個部分);分擔;分攤;分享

print

(str

.split())

>>

>

['sadness',]

#rsplit從左往右切分

#split可以指定切分最大次數

7.迴圈

#for 變數名 in 字串 將字串中的值依次分配給變數
8.改變字串的大小

#lower(),upper() uppercase翻譯:大寫字母 lowercase翻譯:小寫字母

print

(str

.upper())

>>

str=

str.upper(

)print

(str

.lower())

>>

9.判斷字串是否與括號內相同

#startswith(字串開頭是否相同),endswith(字串結尾是否相同) 返回值為true或false

print

(str

.startswith(

's')

)>>

>

true

10.不依賴位置的傳值方式

#format 翻譯:格式化 因此這個方式又稱為格式化輸出

#str.format()使用這個方式的時候可以改變引數值的順序

str=

'qaq '

print

(str

.format

(name =

, age =22)

)>>

#類似於字典的方式,前面字串設定了乙個key值,後面通過format方法給其乙個值用來將你需要的值放入字串裡面

#format的其餘使用方法

#不使用key值,則會與%s的方法相似 format括號中的值會與其一一對應

str=

'qaq {} {}'

print

(str

.format(,

22))>>

>>

#利用索引取值

#假設format括號中的內容是乙個列表,根據索引取值

str=

'qaq '

print

(str

.format(,

22))>>

>qaq 22

22#在python3.6中引進得新方法,在字串前面加個f可以直接呼叫外界得變數名

name =

'egon'

age =

18str

='my name is {} ,age is {}'

str= f'my name is ,age is '

11.字串拼接

#join 從可迭代物件中取出多個字串 ,然後按指定的分隔符進行拼接,拼接結果為字串

#str.join()括號中為要連線的迭代物件若要使兩個字串連線需要使用列表等方式將字串存入其中

print

('-'

.join(

'sadness'))

>>

>s-a-d-n-e-s-s

print(''

.join(

['sadness',]

))>>

12.range()函式

#翻譯:(變動或浮動的)範圍,界限,區間;

#本質是建立了乙個整數的列表

#本身有三個引數,也是顧頭不顧尾。第乙個是開始,第二個是結束,第三個是步長,一般與for in函式連用

#括號中只填乙個,預設是從0開始

13.字串替換

#replace 用新的字串替換舊的字串

print

(str

.replace(

'sadness',)

)>>

#可以指定修改的個數

str=

'my name ,my name '

print

(str

.replace(

'my'

,'he',1

))>>

>he name ,my name

14.判斷字串是否由全數字組成

#isdigit ,返回結果為true或false

str8 =

'5201314'

print

(str8.isdigit())

>>

>

true

15.查詢字串的起始索引

#find

#從指定範圍內尋找字元的起始索引,找到則返回最近的索引,找不到返回-1

#find(a,b,c)共有三個引數,a代表你要找的字元,b代表起始點,c代表結束點

str=

print

(str

.find(

'i')

)>>

>

8

16.計算字元在字串中共出現幾次

#count它可以統計某個字元在字串中共出現幾次

#str.count(『字元』)

專案跟進之Day07 字串和常用資料結構

part1.需留意的常用類方法或者函式 1.字串 str.capitalize 字串首字母變大寫 str.upper 字串大寫 str.find or or str.index 查詢子串的位置 str.startswith 是否以某一字串開頭 str.endswith 是否以某一字串結尾 str.c...

python檔案的操作 day07

今天學習了python中的檔案操作,不僅學會了操作命令,更重要的是明白了 中,對檔案的處理方式。讀完檔案後,檔案指標會停留在檔案的末尾,如果繼續再次讀檔案時,將讀取不到內容。寫檔案時,會從檔案的末尾寫入,不允許在中間插入,或對中間的內容進行修改。在寫入檔案時,會將寫入內容儲存在快取區中,並不會立即寫...

day 07 數字型別與字串型別內建方法

作用描述年齡,id 定義方式 x 10 x int 10 x int 10.1 x int 10.1 報錯 內建方法 沒有內建方法,只有算術運算和比較運算 存乙個值還是多個值 乙個值有序or無序 有序 有索引 無序 無索引 壓根就沒有這一說 可變or不可變 重點 數字型別不可變 可變與不可變的定義 ...