跳至內容

使用者:Xyy23330121/Python/bytes 和 bytearray 的方法

來自維基學院

以下方法為 bytes 和 bytearray 共有。為簡便起見,以下僅以 bytes 為例。

常用操作

[編輯 | 編輯原始碼]

查找與計數

[編輯 | 編輯原始碼]

bytes.count(sub[, start[, end]])

[編輯 | 編輯原始碼]

返回子序列(或0~255的整數)sub 出現的次數。其中:

bytes.count(sub, start, end) 等同於 bytes[start: end].count(sub)

bytes.find(sub[, start[, end]])

[編輯 | 編輯原始碼]

返回子序列(或0~255的整數)sub 第一次出現時、首字節的索引。如果未找到 sub,則返回 -1。

特別的,bytes.find(sub, start, end) 等同於 bytes[start: end].find(sub)

bytes.index(sub[, start[, end]])

[編輯 | 編輯原始碼]

類似 bytes.find,但是如果未找到 sub,則引發 ValueError。

bytes.rfind(sub[, start[, end]])

[編輯 | 編輯原始碼]

返回子序列(或0~255的整數)sub 最後一次出現時、首字節的索引。如果未找到 sub,則返回 -1。

特別的,bytes.find(sub, start, end) 等同於 bytes[start: end].find(sub)

bytes.rindex(sub[, start[, end]])

[編輯 | 編輯原始碼]

類似 bytes.rfind,但是如果未找到 sub,則引發 ValueError。

修改操作

[編輯 | 編輯原始碼]

bytes.replace(old, new[, count])

[編輯 | 編輯原始碼]

將 bytes 中所有子序列 old 替換為 new。如果指定了 count,則只替換前 count 個。

首尾操作

[編輯 | 編輯原始碼]

bytes.startswith(prefix[, start[, end]])

[編輯 | 編輯原始碼]

bytes[start: end]prefix 開頭,則返回 True。否則返回 False。

bytes.endswith(suffix[, start[, end]])

[編輯 | 編輯原始碼]

bytes[start: end]suffix 結尾,則返回 True。否則返回 False。

bytes.removeprefix(prefix, /)

[編輯 | 編輯原始碼]

如果 bytes 以 prefix 開頭,則返回移除 prefix 的副本。否則,直接返回 bytes 的副本。

bytes.removesuffix(suffix, /)

[編輯 | 編輯原始碼]

如果 bytes 以 suffix 結尾,則返回移除 suffix 的副本。否則,直接返回 bytes 的副本。

拼接與拆分

[編輯 | 編輯原始碼]

bytes.partition(sep)

[編輯 | 編輯原始碼]

在子序列 sep 第一次出現的位置拆分序列,並返回 (sep之前, sep, sep之后) 的三元組。如果未找到 sep,則返回 bytes 的副本和兩個空 bytes 對象組成的三元組。

bytes.rpartition(sep)

[編輯 | 編輯原始碼]

類似 bytes.partition,但是在最後一次出現的位置拆分序列。

bytes.join(iterable)

[編輯 | 編輯原始碼]

以 bytes 為分隔符,拼接 iterable 中的 bytes 或 bytearray 對象,並返回拼接得到的 bytes 對象。

返回的類型取決於分隔符的類型。如果用 bytearray.join 則會返回 bytearray。

bytes.split(sep=None, maxsplit=-1)

[編輯 | 編輯原始碼]

sep 為分隔符,返回分割後的、由 bytes 組成的列表。如果指定 maxsplit 為正整數,則最多從左往右分割 maxsplit 次。

bytes.rsplit(sep=None, maxsplit=-1)

[編輯 | 編輯原始碼]

類似 bytes.split,但是從右往左分割。

其它操作

[編輯 | 編輯原始碼]

以下操作和字符串的同名方法類似。但字符串中同名方法的字符串參數都要改為用 bytes 或 bytearray 參數。不具體解釋。

bytes.center(width[, fillbyte])

[編輯 | 編輯原始碼]

bytes.ljust(width[, fillbyte])

[編輯 | 編輯原始碼]

bytes.rjust(width[, fillbyte])

[編輯 | 編輯原始碼]

bytes.zfill(width)

[編輯 | 編輯原始碼]

bytes.rstrip([chars])

[編輯 | 編輯原始碼]

bytes.lstrip([chars])

[編輯 | 編輯原始碼]

bytes.strip([chars])

[編輯 | 編輯原始碼]

bytes.capitalize()

[編輯 | 編輯原始碼]

bytes.expandtabs(tabsize=8)

[編輯 | 編輯原始碼]

bytes.isalnum()

[編輯 | 編輯原始碼]

bytes.isalpha()

[編輯 | 編輯原始碼]

bytes.isascii()

[編輯 | 編輯原始碼]

bytes.isdigit()

[編輯 | 編輯原始碼]

bytes.islower()

[編輯 | 編輯原始碼]

bytes.isspace()

[編輯 | 編輯原始碼]

bytes.istitle()

[編輯 | 編輯原始碼]

bytes.isupper()

[編輯 | 編輯原始碼]

bytes.lower()

[編輯 | 編輯原始碼]

bytes.title()

[編輯 | 編輯原始碼]

bytes.upper()

[編輯 | 編輯原始碼]

==== bytes.swapcase() ==== bytes.splitlines(keepends=False)