objectif
Modifier des buffers en place et découper sans allouer.
code minimal
b = bytearray(b"abc")
mv = memoryview(b)
mv[0] = ord("A")
print(bytes(b) == b"Abc") # attendu: True
utilisation
data = bytearray(b"0123456789")
v = memoryview(data)[2:6]
v[:] = b"ABCD"
print(bytes(data[2:6]) == b"ABCD")
variante(s) utile(s)
import array
a = array.array("I", [1,2,3])
mv = memoryview(a)
print(mv.format == "I")
notes
- memoryview évite des copies coûteuses pour des sous-séquences.
- Fonctionne avec bytearray, array, numpy (via buffer), etc.