python3中bytes數(shù)據(jù)類型的具體使用
一. 簡介
bytes 類型是 python3 引入的。在Python 3.0版本中,字節(jié)串類型(bytes)被引入并命名為bytes,用于表示二進(jìn)制數(shù)據(jù)。
在 Python3 中,bytes 類型表示的是不可變的二進(jìn)制序列(byte sequence)。
二. python3 中的 bytes數(shù)據(jù)類型
1. 創(chuàng)建 bytes類型
創(chuàng)建 bytes類型有幾種方式:
(1) 使用字面量語法創(chuàng)建。
(2) 可以使用 bytes() 函數(shù)將其他類型的對象轉(zhuǎn)換為 bytes 類型。
下面來簡單學(xué)習(xí)一下 bytes類型的創(chuàng)建,訪問與索引,bytes類型與字符串之間的轉(zhuǎn)換。
(1) 使用字面量語法創(chuàng)建。如下所示進(jìn)行創(chuàng)建:
b = b"hello python"
(2) 使用 byte() 構(gòu)造函數(shù)創(chuàng)建,這里是使用 bytes() 函數(shù)將其他類型的對象轉(zhuǎn)換為 bytes 類型。
舉例說明:
b1 = bytes([10]) #將數(shù)字轉(zhuǎn)化為字節(jié)串 b2 = bytes([1, 2, 3]) #將數(shù)字列表轉(zhuǎn)化為字節(jié)串 b3 = bytes((1, 2, 3)) #將數(shù)字元組轉(zhuǎn)化為字節(jié)串 b4 = bytes('a', encoding='utf-8') #將單個(gè)字符轉(zhuǎn)換為字節(jié)串 b5 = bytes("python", encoding='utf-8') #將字符串轉(zhuǎn)換為字節(jié)串
通過 byte()方法定義 bytes類型,顯示有兩種可能:以二進(jìn)制格式顯示,或者以字符串格式顯示:
以二進(jìn)制格式顯示
當(dāng) bytes的元素值范圍在 [32, 126] 范圍之外時(shí),會以二進(jìn)制格式顯示,舉例說明如下:
b1 = bytes([1, 2, 3, 4, 5]) print(b1) #輸出 b'\x01\x02\x03\x04\x05'
以字符串格式顯示
bytes的元素值范圍在 [32, 126] 范圍之外時(shí),會以二進(jìn)制格式顯示,舉例說明如下:
b2 = bytes([32, 33, 34, 126]) print(b2) #輸出 b' '!'~'
2. bytes的訪問與索引
bytes對象是不可變序列,類似于字符串對象??梢酝ㄟ^索引與切片對 bytes對象進(jìn)行訪問或截取。
b = bytes("hello python", 'utf-8') print(b[0]) #輸出 104 print(b[2:5]) #輸出 b'llo' print(b[2:]) #輸出 b'llo python' print(b[:3]) #輸出 b'hel'
3. 字節(jié)串 bytes與字符串 str的轉(zhuǎn)換
將bytes類型轉(zhuǎn)換為 字符串類型,舉例如下:
b = bytes("python", 'utf-8') s = b.decode('utf-8') print(s) #輸出 python
將字符串轉(zhuǎn)化為 bytes類型,舉例如下:
s = "hello python" b = s.encode('utf-8') print(b) #輸出 b'hello python'
4. 修改 bytes對象
bytes 對象是不可變的,不能直接修改其中的元素。若需要修改,可以先將其轉(zhuǎn)換為 bytearray類型,然后再進(jìn)行修改。下面舉例說明:
b1 = bytes("hello world", 'utf-8') b2 = bytearray(b1) b2[0] = 72 print(b2) #輸出:bytearray(b'Hello world')
5. 刪除 bytes對象
使用 del() 方法刪除 bytes對象,例如:
b1 = bytes("hello world", 'utf-8') del b1
關(guān)于 byte類型暫時(shí)學(xué)習(xí)到這里。
到此這篇關(guān)于python3中bytes數(shù)據(jù)類型的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)python3 bytes數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中print和return的作用及區(qū)別解析
print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧2019-05-05python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開方式功能
這篇文章主要介紹了python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開方式功能,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01python運(yùn)行其他程序的實(shí)現(xiàn)方法
這篇文章主要介紹了python運(yùn)行其他程序的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-07-07python 實(shí)現(xiàn)對文件夾內(nèi)的文件排序編號
下面小編就為大家分享一篇python 實(shí)現(xiàn)對文件夾內(nèi)的文件排序編號,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04python數(shù)據(jù)可視化之初探?Seaborn
Seaborn?是一個(gè)基于?Matplotlib?的?Python?數(shù)據(jù)可視化庫,它提供了更高級別的接口,使得創(chuàng)建美觀的統(tǒng)計(jì)圖形變得非常簡單,在這篇文章中,我們將討論?Seaborn?的基礎(chǔ)使用方法,包括如何創(chuàng)建各種常見的統(tǒng)計(jì)圖形2023-07-07用Python編寫腳本使IE實(shí)現(xiàn)代理上網(wǎng)的教程
這篇文章主要介紹了用Python編寫腳本使IE實(shí)現(xiàn)代理上網(wǎng)的教程,“著名的”goagent代理也是基于同樣原理實(shí)現(xiàn),需要的朋友可以參考下2015-04-04