標籤:緩衝 實現 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)