操作型別之字串

better_feng發表於2018-12-02

一、字串簡介

  字串序列用於表示和儲存文字,python中字串是不可變物件。字串是一個有序的字元的集合,用於儲存和表示基本的文字資訊。

字串是 Python 中最常用的資料型別。以使用引號(`或”)來建立字串。

name = `lol`
age = `20`            #這個也是字串哦

二、轉義符

  Python支援轉義字元進行輸出,在需要在字元中使用特殊字元時,需要使用反斜槓’’.

以下為常用的轉義符:

(在行尾時)   

續行符

\

反斜槓符號

`

單引號

雙引號

退格(Backspace)

 

換行

製表符

 

表示將游標的位置回退到本行的開頭位置

簡單示例:

str1 = `aaaaaaaa` 
      `bbbbbbbbbb`      #續行
str2 = `ccc\ccc`       #顯示出反斜槓
str3 = `I`m`           #顯示出單引號
str4 = `"Ok"`         #顯示出雙引號
str5 = `abcd`         #退格
str6 = `one line 
 two line` #換行
str7 = `zhi 	 biao`    #製表符
str8 = `111 
 22`      #游標的位置回退到本行的開頭位置

列印結果為:

aaaaaaaabbbbbbbbbb
cccccc
I`m
"Ok"
abc
one line 
 two line
********************
zhi      biao
 22

三、Python字串運算子

操作符 描述
+ 字串連線
* 重複輸出字串
[] 通過索引獲取字串中字元
[:] 擷取字串中的一部分(左閉右開)
in 成員運算子 – 如果字串中包含給定的字元返回 True
not in 成員運算子
r/R 原始字串

示例:

a = `Hello`
b = `World`
print(`a+b的輸出結果為:`,a+b)
print("a*2 輸出結果:",a * 3)
print("a[1] 輸出結果:",a[2])
print("a[1:4] 輸出結果:",a[2:4])

輸出結果為:

a+b的輸出結果為: HelloWorld
a*2 輸出結果: HelloHelloHello
a[1] 輸出結果: l
a[1:4] 輸出結果: ll

 

四、字串的方法:

  根據python3.x的字串原始碼檔案可見,總共44個方法,以下為筆者列舉的常用的字串方法
首字母大寫:
    str = abc.capitalize()
首字母小寫:
    str = abc.casefold()
設定字串寬度,並居中,空白位置居中
    str = abc.center(20,`*`)//填充可有可無
    左:str = abc.ljust(20,`*`)
    右:str = abc.rjust(20,`*`)
計算字串出現的個數:
    str = abc.count(`a`,5,10)//從第5位到第10位尋找
判斷是否按要求字串開頭、 結尾
    str = abc.endswith(`bc`)
    str = abc.startswith(`ab`)
從開始往後找,找到第一個字串後,獲取其位置:
    str = abc.find(`ab`,6,10)//可規定位置
格式化,將一個字串中的佔位符替換為指定的值:
    test = `I am {name}!`
    str = test.format (name = `jiangfeng`)
    str2 = test.format_map({`name`:`feng`})
判斷字串中是否只是包含數字和字母:
    str = abc.isalnum()
對字串進行斷句
    date = `name	age
jiangfeng	18
zhangsan	11`
    str = date.expandtabs(15)
判斷字串中是否只包含字母
    str = abc.isalpha()
判斷字串中是否只包含數字
    str = abc.isdecimal() *
    str = abc.isdigit()
    str = abc.isnumeric()
判斷字串中是否含有特殊的頁面中無法列印的字元:
    str = abc.isprintable()
判斷字串是否全是空格
    str = abc.isspace()
判斷字串是否是標題格式:
    str = abc.istitle()
將字串轉化為標題格式:
    str = abc.title
*將字串中的每一個元素按照指定分隔符進行拼接
    test = `姜峰` 
    t = ` `
    str = t.join(test)
    or
    str = ` `.join(test)
對字串進行去除空格處理:
    str = abc.lstrip()//左
    str = abc.rstrip()//右
    str = abc.strip()//兩邊
    str = abc.strip(`ab`)//去除指定內容
對資料進行分割:
    str = abc.partition(`a`)//只能把資料分成三份(前)
    str = abc.rapartition(`a`)//只能把資料分成三份(後)
    str = abc.split(`a`,2)//按`a`分割,分成2份
    str = abc.splitlines(True)//只能根據換行符進行分割
大小寫轉換:
    str = abc.swapcase()
字串的替換:
    str = abc.replace(`a`,`b`,(n))
注:字串一旦建立不可修改;一旦修改或者拼接,都會造成重新生成字串

如果想要看到更加全面的內建函式,可以觀看http://www.runoob.com/python3/python3-string.html上的資訊。

相關文章