Python數據類型-字符串

字符串的基本特點

  • 不可變的可迭代可索引對象
  • 是由一個個字符組成的有序的序列屎即,是字符的集合

字符串的初始化

  • sName = 'string'
  • sName = "string"
  • sName = ''' string ''' (多行字符串进每,可以用來作為多行注釋)
  • sName = str(object):使用str()轉換為字符串類型
    • 將object直接轉換成字符串類型而不是采用可迭代的方式
  • sName = ''.join(iterable) :使用可迭代對象新建字符串(可迭代對象的元素都是字符串類型)
  • 在字符串內可以使用轉義字符

字符串的訪問

  • str[index]:支持索引訪問,注意空白符的占位
  • 有序的字符集合折柠,可以順序訪問,返回的每一個元素也是字符串類型
  • 可迭代對象 : lst = list(string)
    可迭代不一定可索引

字符串的常用方法

  • 字符串join連接
    • "string".join(iterable):將一個可迭代對象中的所有元素使用string連接起來
      • 返回值是一個新字符串
      • 要求可迭代對象的元素都是字符串類型
  • 字符串拼接
    • str1 + str2 :拼接兩個字符串
      • 返回一個新的字符串
  • 字符串分割 (split 系列)
    • str.split(sep='' , maxsplit=-1):將字符串按指定分隔符分割
      • 返回為列表
      • sep 指定分隔符辛臊,默認是使用 空白字符串(可以是多個空白符一起) 作為分隔符
      • 可以指定最大分割次數(默認是全部分割)
      • 方向是從左到右
      • 在分隔符前沒有內容:會返回一個空字符串
    • str.rsplit(sep='' , maxsplit=-1):將字符串按指定分隔符分割
      • 返回為列表
      • sep 指定分隔符娱据,默認是使用 空白字符串(可以是多個空白符一起) 作為分隔符
      • 可以指定最大分割次數(默認是全部分割)
      • 從右到左的順序
    • str.splitlines([keepends]):按照行來分割字符串
      • 返回為列表
      • keepends 參數(bool類型)表示是否保留行分隔符
      • 行分隔符包括:\r、\n膏斤、\r\n
  • 字符串分割 (partition系列)
    • str.partition(sep):按照sep指定的分隔符將str分割成兩部分
      • 返回的是一個元祖類型
      • 必須指定分隔符徐绑,并且不能為空
      • 遇到第一個分隔符,就將字符串分割為 頭莫辨、分隔符傲茄、尾構成的三元組,后面的忽略
      • 沒有遇到分隔符沮榜,返回由字符串盘榨、空白、空白構成的三元組
      • 從左到右的順序
    • str.rpartition(sep):同上蟆融,反向而已
  • 字符串大小寫
    • str.upper() :小寫字符轉大寫
    • str.lower() :大寫字符轉小寫
    • str.swapcase() :大小寫互相轉換
  • 字符串排版
    • str.title() : 單詞的首字母大寫
      • 返回一個新的字符串草巡,不改變str的字符
    • str.capitalize() :只有行首單詞的首字母大寫
      • 返回一個新的字符串,不改變str的字符
    • str.center(width [,fillchar]):字符串填充
      • 返回一個新的字符串型酥,不改變str的字符
      • 返回字符串的寬度為width山憨,不夠的使用fillchar來填充
    • zfill(width):右對齊,不夠使用0填充
      • 返回新字符串
    • ljust(width [,fillchar]):左對齊冕末,使用fillchar字符串來填充
      • 返回新字符串
    • rjust(width [,fillchar]):右對齊萍歉,使用fillchar字符串來填充
      • 返回新字符串

字符串修改

  • str.replace(old, new [, count]) : 使用新的字符串替換舊字符串
    • 返回新的字符串,不改變str中的字符
    • 可以指定替換的次數档桃,默認全部替換
  • str.strip([chars]):根據指定字符集刪除字符串兩端的字符
    • 不指定字符集時枪孩,默認為空白字符集合
    • 從兩端刪除時,盡可能多的刪除兩端出現的指定字符
    • 返回新的字符串,不影響str本身的字符
  • str.lstrip([chars]):從左側刪除指定字符集中的字符
  • str.rstrip([chars]):從右側刪除指定字符集中的字符

字符串查找

  • str.find(sub [,start [, end]]):在str中查找指定的字符串

    • 找到返回第一次匹配的索引蔑舞,沒找到返回 -1
    • 可以指定查找的起止位置 [start,end)
    • 從左到右的順序
  • str.rfind(sub [,start [, end]]):同上反向

  • str.index(sub [,start [, end]]):在str中查找指定的字符串

    • 找到返回第一次匹配的索引拒担,沒找到拋出異常ValueError
    • 可以指定查找的起止位置 [start,end)
    • 從左到右的順序
  • str.rindex(sub [,start [, end]]):同上反向

  • str.count(sub [,start [, end]]) :統計str中字串出現的次數

    • 默認從左到右
    • 可以指定起止位置 [start, end)
    • 返回整數,表示字符出現的次數

字符串判斷

  • str.startswith(prefix [, start[, end]]):判斷字符【子】串是否以prefix開始
    • 返回布爾類型值
    • 可以指定起止位置 [start, end)
  • str.endswith(suffix [, start[, end]]):判斷字符【子】串是否以suffix結尾
    • 返回布爾類型值
    • 可以指定起止位置 [start, end)

身份判定

  • str.isalnum() :判定str是否由數字和字母混合組成(單獨組成也滿足)
  • str.isalpha() :判定str是否只由字母組成
  • str.isdecimal() :判定str是否只包含十進制數
  • str.isdigit():判定str是否全部數字
  • str.isidentifier():判定str是否是正確的標示符名
  • str.islower():判定str中是否全是小寫字母
  • str.isupper() :判定str中是否全部大寫字母
  • str.isspace() :判定str中是否只有空白符
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末攻询,一起剝皮案震驚了整個濱河市从撼,隨后出現的幾起案子,更是在濱河造成了極大的恐慌钧栖,老刑警劉巖低零,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異拯杠,居然都是意外死亡掏婶,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門潭陪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雄妥,“玉大人,你說我怎么就攤上這事依溯±涎幔” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵黎炉,是天一觀的道長枝秤。 經常有香客問我,道長慷嗜,這世上最難降的妖魔是什么宿百? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮洪添,結果婚禮上垦页,老公的妹妹穿的比我還像新娘。我一直安慰自己干奢,他們只是感情好痊焊,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著忿峻,像睡著了一般薄啥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逛尚,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天垄惧,我揣著相機與錄音,去河邊找鬼绰寞。 笑死到逊,一個胖子當著我的面吹牛铣口,可吹牛的內容都是我干的。 我是一名探鬼主播觉壶,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼脑题,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铜靶?” 一聲冷哼從身側響起叔遂,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎争剿,沒想到半個月后已艰,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蚕苇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年旗芬,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捆蜀。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖幔嫂,靈堂內的尸體忽然破棺而出辆它,到底是詐尸還是另有隱情,我是刑警寧澤履恩,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布锰茉,位于F島的核電站,受9級特大地震影響切心,放射性物質發(fā)生泄漏飒筑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一绽昏、第九天 我趴在偏房一處隱蔽的房頂上張望协屡。 院中可真熱鬧,春花似錦全谤、人聲如沸肤晓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽补憾。三九已至,卻和暖如春卷员,著一層夾襖步出監(jiān)牢的瞬間盈匾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工毕骡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留削饵,地道東北人岩瘦。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像葵孤,于是被迫代替她去往敵國和親担钮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容