1. 程式人生 > >L2基礎資料型別之字串的處理和判斷基礎型別

L2基礎資料型別之字串的處理和判斷基礎型別

字串也可以被遍歷,輸出單個字母,迭代(sequence)

for i in 'afaffsad':
    print(i)

(以下不常用,常用的會特別註明)

轉換大小寫

轉小寫
'aa AAA'.lower() >>> 'aa aaa'
轉大寫
'aa AAA'.upper() >>> 'AA AAA'
首字母大寫
'hello world'.capitalize() >>> 'Hello world'
大小寫轉換
'aaa AAA'.swapcase() >>> 'AAA aaa'
### is xxx判斷
是的話返回 True,假的話返回False 是否字母 'a'.isalpha() >>> True 是否空格 ''.isspace() >>> True 是否數字 ''.isdigit() >>> True 是否可列印 'n'.isprintable() >>> True 檢查字串是否為合法的識別符號(變數名) 'a4'.isidentifier() >>> True '7a4'.isidentifier() >>> False

填充 fill

字串兩邊填充,第一個引數是填充後的長度,第二個引數填充的字元,可以用於居中列印

居中列印

'abc'.center(5,'_') >>> '_abc_'

右邊或左邊進行填充

'abc'.ljust(10,'_') >>> 'abc_______'
'abc'.rjust(10,'_') >>> 'abc_______'

(常用)搜尋

.count(sub) 引數為要搜尋的子字串,返回子串出現的次數,第二個引數表示從第幾個字元開始搜尋。
'xjxjxjxjjxjxjsafafxji'.count('xj') 

查詢相同變數:

 a = 'qweereqeqweqwe'    
 a2 =
'q'*a1.count('q') >>> qqqq 'xjxjxjxjjxjxjsafafxji'.count('xj',3) >>> 5

判斷字串是否以某個字串開頭結尾

'ascb'.startswith('a') >>> True
'ascb'.endswith('cb') >>> True

(常用) find() 查詢子字串是否出現過,是的話返回下標,注意沒找到時返回-1

'abcxyzXY'.find('xy') >>> 3
'abcxyzXY'.find('aaa') >>> -1
(常用) index() 跟find()類似,只是沒查詢到時返回異常。
### 替換
(常用) raplace(old,new)
```python
'abcxyzXY'.replace('abc','xyz') >>> 'xyzxyzXY'

分隔

partition(substring) 根據子串分成幾個部分,返回一個元組

'abcxyzXY'.partition('xy') >>> ('abc','xy','zXY')

(常用split) 根據子串分隔

'1,2,3'.split(',') >>> ['1','2','3']

連線

(常用)join() 用一個字元連線序列的各個項

student_list = ['小紅','褐色','勤勤']
','.join(student_list) >>> '小紅,褐色,勤勤'

刪除無用字元

(常用)strip()刪除無用字元,預設刪除 換行\n 製表符\t 空格,傳引數的話子刪除跟引數相關的。
方法用於移除字串頭尾指定的字元(預設為空格或換行符)或字元序列。
注意:該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。
'我sdk \n \n'.strip() >>> '我sdk'
'我sdk \n \n'.strip('\n') >>> '我sdk \n '
a = '我sdk \n \n'.strip('\n')
b = '   我sdk \n \n'.strip()
print(a)
print(b)
isinstance(要判斷的物件object,型別type)
isinstance()函式判斷傳入的物件是否為期望的型別,是的話返回True,不是的話返回False
適用場景,用來判斷一個變數或輸入是否合法,判斷值是否如預期一樣正確
a = 1
b = 'sss'
 isinstance(a,int) >>> True
 isinstance(b,int) >>> False
 isinstance(b,bool) >>> False
 
# type() 返回的是類
 a = 1
 type(a) >>> <class 'int'>