Python 標準庫筆記(1) — String模組

發表於2017-08-21

String模組包含大量實用常量和類,以及一些過時的遺留功能,並還可用作字串操作。

1. 常用方法

常用方法 描述
str.capitalize() 把字串的首字母大寫
str.center(width) 將原字串用空格填充成一個長度為width的字串,原字串內容居中
str.count(s) 返回字串s在str中出現的次數
str.decode(encoding=’UTF-8’,errors=’strict’) 以指定編碼格式解碼字串
str.encode(encoding=’UTF-8’,errors=’strict’) 以指定編碼格式編碼字串
str.endswith(s) 判斷字串str是否以字串s結尾
str.find(s) 返回字串s在字串str中的位置索引,沒有則返回-1
str.index(s) 和find()方法一樣,但是如果s不存在於str中則會丟擲異常
str.isalnum() 如果str至少有一個字元並且都是字母或數字則返回True,否則返回False
str.isalpha() 如果str至少有一個字元並且都是字母則返回True,否則返回False
str.isdigit() 如果str只包含數字則返回 True 否則返回 False
str.islower() 如果str存在區分大小寫的字元,並且都是小寫則返回True 否則返回False
str.isspace() 如果str中只包含空格,則返回 True,否則返回 False
str.istitle() 如果str是標題化的(單詞首字母大寫)則返回True,否則返回False
str.isupper() 如果str存在區分大小寫的字元,並且都是大寫則返回True 否則返回False
str.ljust(width) 返回一個原字串左對齊的並使用空格填充至長度width的新字串
str.lower() 轉換str中所有大寫字元為小寫
str.lstrip() 去掉str左邊的不可見字元
str.partition(s) 用s將str切分成三個值
str.replace(a, b) 將字串str中的a替換成b
str.rfind(s) 類似於 find()函式,不過是從右邊開始查詢
str.rindex(s) 類似於 index(),不過是從右邊開始
str.rjust(width) 返回一個原字串右對齊的並使用空格填充至長度width的新字串
str.rpartition(s) 類似於 partition()函式,不過是從右邊開始查詢
str.rstrip() 去掉str右邊的不可見字元
str.split(s) 以s為分隔符切片str
str.splitlines() 按照行分隔,返回一個包含各行作為元素的列表
str.startswith(s) 檢查字串str是否是以s開頭,是則返回True,否則返回False
str.strip() 等於同時執行rstrip()和lstrip()
str.title() 返回”標題化”的str,所有單詞都是以大寫開始,其餘字母均為小寫
str.upper() 返回str所有字元為大寫的字串
str.zfill(width) 返回長度為 width 的字串,原字串str右對齊,前面填充0

2.字串常量

常數 含義
string.ascii_lowercase 小寫字母’abcdefghijklmnopqrstuvwxyz’
string.ascii_uppercase 大寫的字母’ABCDEFGHIJKLMNOPQRSTUVWXYZ’
string.ascii_letters ascii_lowercase和ascii_uppercase常量的連線串
string.digits 數字0到9的字串:’0123456789’
string.hexdigits 字串’0123456789abcdefABCDEF’
string.letters 字串’abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’
string.lowercase 小寫字母的字串’abcdefghijklmnopqrstuvwxyz’
string.octdigits 字串’01234567’
string.punctuation 所有標點字元
string.printable 可列印的字元的字串。包含數字、字母、標點符號和空格
string.uppercase 大學字母的字串’ABCDEFGHIJKLMNOPQRSTUVWXYZ’
string.whitespace 空白字元 ‘\t\n\x0b\x0c\r ‘

3.字串模板Template

通過string.Template可以為Python定製字串的替換標準,下面是具體列子:

Template還有更加高階的用法,可以通過繼承string.Template, 重寫變數delimiter(定界符)和idpattern(替換格式), 定製不同形式的模板。

輸出:

原生的Template只會渲染界定符為$的情況,重寫後的MyTemplate會渲染界定符為%且替換格式帶有下劃線的情況。

4.常用字串技巧

  • 1.反轉字串

  • 2.關於字串連結

儘量使用join()連結字串,因為’+’號連線n個字串需要申請n-1次記憶體,使用join()需要申請1次記憶體。

  • 3.固定長度分割字串

  • 4.使用()括號生成字串
  • 5.將print的字串寫到檔案

相關文章