python中的內建函數(bytearray)

來源:互聯網
上載者:User

標籤:緩衝   實現   size   長度   ast   操作   使用   ring   元素   

返回一個新的位元組數組。
bytearray類是range 0 < = x < 256的一個可變序列。
它有大多數可變序列的常用方法,在可變序列類型中描述,以及大多數位元組類型的方法,參見位元組和Bytearray操作。

可選的源參數可以用幾種不同的方式來初始化數組:

  • 如果它是一個字串,那麼您還必須給出編碼(以及可選的錯誤)參數;bytearray()然後使用str.encode()將字串轉換為位元組。
  • 如果它是一個整數,那麼數組將具有這個大小,並將用null位元組初始化。
  • 如果它是符合緩衝區介面的對象,則將使用對象的唯讀緩衝區來初始化位元組數組。
  • 如果它是可迭代的,那麼它必須是range 0 < = x < 256的整數的迭代,它被用作數組的初始內容

如果沒有參數,則建立一個大小為0的數組。

說明:
1. 傳回值為一個新的位元組數組
2. 當3個參數都不傳的時候,返回長度為0的位元組數組

1 #!/usr/bin/python2 3 b = bytearray()4 print(b)<br>print(len(b))

結果:

1 bytearray(b‘‘)2 0

3. 當source參數為字串時,encoding參數也必須提供,函數將字串使用str.encode方法轉換成位元組數組

1 b = bytearray(‘中文‘)

結果:

1 Traceback (most recent call last):2   File "D:/py/day001/day1/test.py", line 3, in <module>3     b = bytearray(‘中文‘)4 TypeError: string argument without an encoding

encoding參數也必須提供,函數將字串使用str.encode方法轉換成位元組數組

1 b = bytearray(‘中文‘, ‘utf-8‘)2 print(b)3 print(len(b))

結果:

1 bytearray(b‘\xe4\xb8\xad\xe6\x96\x87‘)2 6

4. 當source參數為整數時,返回這個整數所指定長度的空位元組數組

1 #!/usr/bin/python32  3 b = bytearray(5)4 print(b)5 print(len(b))

執行結果:

1 bytearray(b‘\x00\x00\x00\x00\x00‘)2 5

5. 當source參數為實現了buffer介面的object對象時,那麼將使用唯讀方式將位元組讀取到位元組數組後返回

1 #!/usr/bin/python32  3 b = bytearray([1,2,3,4,5])4 print(b)5 print(len(b))

執行結果:

1 bytearray(b‘\x01\x02\x03\x04\x05‘)2 5

6. 當source參數是一個可迭代對象,那麼這個迭代對象的元素都必須符合0 <= x < 256,以便可以初始化到數組裡

1 #!/usr/bin/python32  3 b = bytearray([1,2,3,4,5,256])4 print(b)5 print(len(b))

執行結果:

1 Traceback (most recent call last):2   File "D:/py/day001/day1/test.py", line 3, in <module>3     b = bytearray([1,2,3,4,5,256])4 ValueError: byte must be in range(0, 256)

python中的內建函數(bytearray)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.