字符串
創(chuàng)新互聯(lián)建站是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的十年時間我們累計服務(wù)了上千家以及全國政企客戶,如成都玻璃鋼坐凳等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致贊美。字符串定義
一個個字符組成的有序的序列,是字符的集合
使用單引號、雙引號、三引號引住的字符序列
字符串是不可變對象
Python3起,字符串就是Unicode類型
字符串元素訪問——下標
字符串支持使用索引訪問
sql = “select * from user where name” sql[4] #字符串‘c’
有序的字符集合,字符序列
for c in sql:
可迭代
lst = list(sql)
字符串join連接
“string”.join(iterable) -> str
將可迭代對象連接起來,使用string作為分隔符
可迭代對象本身元素都是字符串
返回一個新字符串
lst = ['1','2','3'] print("\" ".join(lst)) # 分隔符是雙引號
+ -> str
將2個字符串連接在一起返回新的字符串
字符串分割
分割字符串的方法分為2類:
1.split系 -> list
將字符串按照分隔符分割成若干個字符串,并返回列表(list)
2.partition系 -> tuple
將字符串按照分隔符分割成2段,返回這2段和分隔符的元組(tuple)
split (sep = None,maxsplit = -1) -> list of string
rsplit(sep = None,maxsplit = -1) - > list of string
split從左至右,rsplit從右至左
sep指定分割字符串,缺省的情況下空白字符串(包括空格 \r \n \r\n \t)作為分隔符
maxsplit 指定分割的次數(shù), -1表示遍歷整個字符串
splitlines([keepends])-> list of string
按照 行 來切分字符串
keepend 指的是 是否保留分行符(默認False不保留;True 保留)
行分隔符包括 \n \r\n \r等
partition(sep) -> (head,sep,tail) -> tuple of string
partition從左至右(rpartition 從右至左),遇到分隔符就把字符串分割成2部分,返回頭、分隔符、尾三部分的三元組。如果沒有找到分隔符,就返回頭, 2個空元素的三元組
sep分割字符串,必須指定,而且不能為空“”
字符串大小寫
upper()
全大寫
lower()
全小寫
大小寫,做判斷的時候用
swapcase()
交互大小寫
字符串排版
title() -> str
標題的每個單詞的首字母都大寫
capitalize() -> str
首個單詞首字母大寫
center(width[,fillchar]) -> str
width 打印寬度
fullchar 填充的字符
zfill(width) -> str
width 打印寬度,居右,左邊用0填充
ljust(width[,fillchar]) -> str 左對齊
rjust(width[,fillchar]) -> str 右對齊
字符串修改
repalce(old,new[,count]) -> str
從左到右在字符串中找到子串替換為心子串,返回新字符串
count表示替換幾次,不指定就是全部替換
strip([chars]) -> str
從字符串兩端去除指定的字符集chars中的所有字符
如果chars沒有指定,去除兩端的空白字符
lstrip([chars]) -> str:從左開始
rstrip([chars]) -> str: 從右開始
字符串查找
find(sub[,start[,stop]]) -> int
在指定的區(qū)間[start,end),從左至右,查找子串sub.找到返回索引,沒找到返回 -1
rfind(sub[,start[,stop]]) -> int
在指定的區(qū)間[start,end),從右至左,查找子串sub.找到返回索引,沒找到返回 -1
PS: strat索引位置必須在stop索引位置的左邊,否則返回 -1
EXP: s = "I am very very very sorry" s.find('very') s.find('very',5) s.fing('very',6,13) s.fing('very',-10,-1)
index(sub,[,start[,stop]]) -> int
在指定的區(qū)間[start,end),從左至右,查找子串sub.找到返回索引,沒找到拋出異常value error
rindex(sub,[,start[,stop]]) -> int
在指定的區(qū)間[start,end),從右至左,查找子串sub.找到返回索引,沒找到拋出異常value error
時間復雜度
index和count方法都是O(n)
隨著列表數(shù)據(jù)規(guī)模的增大,而效率下降
len(string)
返回字符串的長度,及字符的個數(shù)
count(sub[,start[,end]]) -> int
在指定區(qū)間[start,end),從左至右,統(tǒng)計子串sub出現(xiàn)的次數(shù)
字符串判斷*
endswith(suffix[,start[,end]]) -> bool
在指定的區(qū)間[start,end),字符串是否是suffix結(jié)尾
startswith(prefix[,start[,end]]) -> bool
在指定的區(qū)間[start,end),字符串是否是prefix開頭
字符串判斷 is系列
isalnum() -> bool 是否是字母和數(shù)字組成
isalpha() 是否是字母
isdecimal() 是否只包含是十進制數(shù)字
isdigit() 是否全部數(shù)字(0~9)
isidentifier() 是不是字母和下劃線開頭,其它都是字母\數(shù)字\下劃線
islower() 是否都是小寫
isupper() 是否都是大寫
isspace() 是否只包含空白字符
字符串格式化
字符串的格式化是一種憑借字符串輸出樣式的首手段,更靈活方便
.join(iterable) 拼接中能使用分隔符,且要求被拼接的是可迭代對象,(元素必須為字符換)
+ 拼接字符串直接拼接,但是非字符串需要先轉(zhuǎn)換成字符串才能拼接
1.在2.5版本之前,只能使用printf style 風格的print輸出
printf-style formatting,來自于c語言的printf函數(shù)
格式要求:
占位符:使用%和格式字符組成,例如%s %d等
s調(diào)用str(),r會調(diào)用repr().所有對象都可以被這2個轉(zhuǎn)換
占位符中還可以插入修飾符字符,例如%03d表示打印3個位置,不夠前面補0
format % values,格式字符串和被格式的值之間使用%分隔
value至少能是一個對象,或是一個和格式字符串占位符數(shù)目相等的元組,或一個字典
2.format函數(shù)格式字符語法----python鼓勵使用
"{}{xxx}".format(*args , **kwargs) -> str
args是位置參數(shù),是一個元組
kwargs是關(guān)鍵字參數(shù),是一個字典
花括號表示占位符
{}表示按照順序匹配位置參數(shù),{n}表示取位置參數(shù)索引為n的值
{xxx}表示在關(guān)鍵字參數(shù)中搜索名稱一致的
{{}} 表示打印花括號
位置參數(shù)
"{}{}",format('a','b'),這就是按照位置順序用位置參數(shù)替換前面的格式字符串的占位符中
關(guān)鍵字參數(shù)或命名參數(shù)
"{server}{1}{0}".format("b","a",server="c"),位置參數(shù)按照序號匹配,關(guān)鍵字參數(shù)按照名字匹配
訪問元素
"{0[0]}..{0[1]}".format(("magedu","com"))
對象屬性訪問
from collections import namedtuple point = namedtuple("point","x, y") p = point(4,5) "{{{0.x},{0.y}}}".format(p)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。