用戶: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)