python基礎 - 字串作
split(sep=None, maxsplip=-1)
從左到右
sep 指定分隔字串,預設情況下空白字串,指定的字串會被切掉
maxsplit 指定分隔次數,-1 表示遍歷
rsplit(sep=None, maxsplit=-1)
從右到左
...
splitlines([keepends])
按照行來分隔字串
keepends 指的是是否保留行分隔符
行分隔符包括 \n, \r\n, \r 等
partition(sep)
從左到右,遇到分隔符就把字串分割成兩個部分,返回頭,分隔符,尾三部分的三元組,如果沒有找到分隔符,就返回頭,兩個空元素的三元組。
sep 必須指定。
rpartition(seq)
從右到左
字串大小寫
upper(): 全大寫
lower(): 全小寫
swapcase(): 互動大小寫
字串排版
title(): 標題的每個單詞都大寫
capitalize: 首個單詞大寫
center(width [,fillchar]): width 列印寬度,fillchar: 填充的字元
zfill(width): width 列印寬度,居右,左邊用0填充
ljust(width[,fillchar]): 左對齊
rjust(width[,fillchar]): 右對齊
字串修改
replace(old, new[,count]):
找到匹配字串換為新串,count指定替換幾次,不指定全部替換。
strip([chars]):
從字串兩端去除chars中字元,沒有指定chars去除兩端空格
字串查詢
find(sub[,start[,end]]):
在指定區間 [start, end],從左到右,查詢子串 sub 。找到返回索引,沒有返回 -1
rfind(sub[,start[,end]])
從右到左
index(sub[,start[,end]])
在指定區間[start, end],從左至右,查詢子串sub。找到返回索引,沒有找到丟擲異常ValueError
count(sub[,start[,end]])
在指定區間 [start, end], 從左到右,統計子串 sub 出現的次數。
字串判斷
endswith(suffix[,start[,end]]):
在指定區間 [start, end],字串是否是 suffix 結尾,返回 bool
startswith(prefix[,start[,end]]):
在指定區間 [start, end], 字串是否是 prefix 開頭, 返回 bool
is 系列
isalnum(): 是否是字母和數字組成
isalpha(): 是否是字母
isdecimal(): 是否只包含十進位制數字
isdigit(): 是否全部數字(0-9)
islower(): 是否全都是小寫
isupper(): 是否全部大寫
isspace(): 是否只包含空白字元
字串格式化
printf-style formatting
"I'm %03"%(20)
"I like %s"%'Python'
"I am %-5d"%(20)
format 函式格式字串語法
"{} {xxx}".format(*args,**kwargs)
# args 是位置引數,是一個元組
# kwargs 是關鍵字引數,是一個字典
# 花括號表示佔位符
# {} 表示按順序匹配位置引數,{n}
# 表示取位置引數索引為n的值
# {xxx} 表示在關鍵字引數中搜索名稱一致的
# {{}} 表示列印花括號
# 位置引數
"{},{}".format('1111',8888) # 這就是按照位置順序用位置引數替換前面的格式字串的佔位符中
# 關鍵字引數或命名引數
"{server}{1}:{0}",format(8888,'192.168.0.1',server='Web Server Info')
# 訪問元素
"{0[0]}.{0[1]}".format(('magedu','com'))
# 物件屬性訪問
Point = namedtuple('Point','x y')
p = Point(3,5)
"{{{0.x},{0.y}}}".format(p)
'{0}*{1}={2:>2}'.format(3,2,2*3) # 3*2=06
'{:>}' # 右對齊
'{:<}' # 左對齊
'{:^30}'.format('centered') # ^ 居中
'{:*^30}'.format('centered') # 居中並以 * 填充
進位制
'int:{0:d};hex:{0:x};oct:{0:o};bin:{0:b}'.format(42)
'int:{0:d};hex:{0:#x};oct:(0:#o);bin:{0:#b}'.format(42) # 會顯示進位制符號
octets = [192,168,0,1]
'{:02X}{:02X}{:02X}{:02x}'.format(*octets) # * 表示解構