python3中bytes數(shù)據(jù)類型的具體使用
一. 簡(jiǎn)介
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) 使用字面量語(yǔ)法創(chuàng)建。
(2) 可以使用 bytes() 函數(shù)將其他類型的對(duì)象轉(zhuǎn)換為 bytes 類型。
下面來(lái)簡(jiǎn)單學(xué)習(xí)一下 bytes類型的創(chuàng)建,訪問(wèn)與索引,bytes類型與字符串之間的轉(zhuǎn)換。
(1) 使用字面量語(yǔ)法創(chuàng)建。如下所示進(jìn)行創(chuàng)建:
b = b"hello python"
(2) 使用 byte() 構(gòu)造函數(shù)創(chuàng)建,這里是使用 bytes() 函數(shù)將其他類型的對(duì)象轉(zhuǎn)換為 bytes 類型。
舉例說(shuō)明:
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é)串
通過(guò) byte()方法定義 bytes類型,顯示有兩種可能:以二進(jìn)制格式顯示,或者以字符串格式顯示:
以二進(jìn)制格式顯示
當(dāng) bytes的元素值范圍在 [32, 126] 范圍之外時(shí),會(huì)以二進(jìn)制格式顯示,舉例說(shuō)明如下:
b1 = bytes([1, 2, 3, 4, 5]) print(b1) #輸出 b'\x01\x02\x03\x04\x05'
以字符串格式顯示
bytes的元素值范圍在 [32, 126] 范圍之外時(shí),會(huì)以二進(jìn)制格式顯示,舉例說(shuō)明如下:
b2 = bytes([32, 33, 34, 126]) print(b2) #輸出 b' '!'~'
2. bytes的訪問(wèn)與索引
bytes對(duì)象是不可變序列,類似于字符串對(duì)象。可以通過(guò)索引與切片對(duì) bytes對(duì)象進(jìn)行訪問(wè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對(duì)象
bytes 對(duì)象是不可變的,不能直接修改其中的元素。若需要修改,可以先將其轉(zhuǎn)換為 bytearray類型,然后再進(jìn)行修改。下面舉例說(shuō)明:
b1 = bytes("hello world", 'utf-8') b2 = bytearray(b1) b2[0] = 72 print(b2) #輸出:bytearray(b'Hello world')
5. 刪除 bytes對(duì)象
使用 del() 方法刪除 bytes對(duì)象,例如:
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中print和return的作用及區(qū)別解析
print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧2019-05-05Python selenium爬取微信公眾號(hào)文章代碼詳解
這篇文章主要介紹了Python selenium爬取微信公眾號(hào)歷史文章代碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能
這篇文章主要介紹了python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01python運(yùn)行其他程序的實(shí)現(xiàn)方法
這篇文章主要介紹了python運(yùn)行其他程序的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-07-07Python自動(dòng)化處理手機(jī)驗(yàn)證碼
手機(jī)驗(yàn)證碼是一種常見(jiàn)的身份驗(yàn)證手段,廣泛應(yīng)用于用戶注冊(cè)、登錄、交易確認(rèn)等場(chǎng)景,下面我們來(lái)看看如何使用Python自動(dòng)化處理手機(jī)驗(yàn)證碼吧2025-02-02python 實(shí)現(xiàn)對(duì)文件夾內(nèi)的文件排序編號(hào)
下面小編就為大家分享一篇python 實(shí)現(xiàn)對(duì)文件夾內(nèi)的文件排序編號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04python數(shù)據(jù)可視化之初探?Seaborn
Seaborn?是一個(gè)基于?Matplotlib?的?Python?數(shù)據(jù)可視化庫(kù),它提供了更高級(jí)別的接口,使得創(chuàng)建美觀的統(tǒng)計(jì)圖形變得非常簡(jiǎn)單,在這篇文章中,我們將討論?Seaborn?的基礎(chǔ)使用方法,包括如何創(chuàng)建各種常見(jiàn)的統(tǒng)計(jì)圖形2023-07-07用Python編寫(xiě)腳本使IE實(shí)現(xiàn)代理上網(wǎng)的教程
這篇文章主要介紹了用Python編寫(xiě)腳本使IE實(shí)現(xiàn)代理上網(wǎng)的教程,“著名的”goagent代理也是基于同樣原理實(shí)現(xiàn),需要的朋友可以參考下2015-04-04