L2基礎資料型別之字串的處理和判斷基礎型別
阿新 • • 發佈:2018-11-24
字串也可以被遍歷,輸出單個字母,迭代(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'>