首頁  >  文章  >  後端開發  >  Python內建bytearray函數詳細介紹

Python內建bytearray函數詳細介紹

高洛峰
高洛峰原創
2017-03-21 11:23:411832瀏覽

中文文件:

class bytearray([source## [, 編碼##[, 錯誤##]]]) ##傳回一個新的位元組陣列。 bytearray

類別是 0 Mutable Sequence Types 中所述,以及bytes 類型具有的大多數方法,請參閱位元組和位元組數組操作.可選的source參數可用於以幾種不同的方式初始化陣列:

#如果是

string
    ,您也必須提供
  • encoding

    (以及可選的errors)參數; bytearray() 然後使用str.encode().# 將字串轉換為位元組##如果它是一個整數

    ,則陣列將具有該大小,並將使用空位元組進行初始化。的物件#buffer
  • 接口,物件的唯讀緩衝區將用於初始化位元組數組。整數的可迭代
  • 0 x

    256
  • ,用作陣列的初始內容。為0 的陣列。

    1. 傳回值為一個新的位元組數組

    2. 當3個參數都不傳的時候,回傳長度為0的位元組數組

    >>> b = bytearray()
    >>> b
    bytearray(b'')
    >>> len(b)
    0

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

    >>> bytearray('中文')
    Traceback (most recent call last):
      File "<pyshell#48>", line 1, in <module>
        bytearray(&#39;中文&#39;)
    TypeError: string argument without an encoding
    >>> bytearray(&#39;中文&#39;,&#39;utf-8&#39;)
    bytearray(b&#39;\xe4\xb8\xad\xe6\x96\x87&#39;)

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

    >>> bytearray(2)
    bytearray(b&#39;\x00\x00&#39;)
    >>> bytearray(-2) #整数需大于0,使用来做数组长度的
    Traceback (most recent call last):
      File "<pyshell#51>", line 1, in <module>
        bytearray(-2)
    ValueError: negative count

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

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

    >>> bytearray([1,2,3])
    bytearray(b&#39;\x01\x02\x03&#39;)
    >>> bytearray([256,2,3]) #不在0-255范围内报错
    Traceback (most recent call last):
      File "<pyshell#53>", line 1, in <module>
        bytearray([256,2,3])
    ValueError: byte must be in range(0, 256)

以上是Python內建bytearray函數詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn