Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Zobaczprzykład2-21jakoprzykładzamianypojedynczegobajtawtablicy16-bitowych
liczbcałkowitych.
Przykład2-21Zmienianiewartościelementutablicyprzezmodyfikacjęjednegozjejbajtów
>>>numbers:array.array('h',[-2,-1,0,1,2])
>>>memv:memoryview(numbers)³
>>>len(memv)
5
>>>memv[0]·
-
>>>memv–oct:memv.cast('B')»
>>>memv–oct.tolist()¿
[254,255,255,255,0,0,1,0,2,0]
>>>memv–oct[5]:4´
>>>numbers
array('h',[-2,-1,1024,1,2])²
³
Budowaniewidokupamięci
memoryview
ztablicypięciu2-bajtowychliczbcałkowi-
tychzeznakiem(kodtypu
'h'
).
·
memv
widzitesame5elementówwtablicy.
»Tworzenie
memv–oct
przezrzutowanieelementów
memv
nakodtypu
'B'
(jedenbajt
bezznaku).
¿Eksportowanieelementów
memv–oct
jakolisty,dlainspekcji.
´Przypisaniewartości4dobajtaoprzesunięciu5.
²Zauważzmianęwtablicy
numbers
:4wnajbardziejznaczącymbajcie2-bajtowego
typucałkowitoliczbowegodajewwyniku1024.
Zobaczymyjeszczejedenkrótkiprzykładużycia
memoryview
wkontekściemanipulacji
sekwencjamibinarnymizestrukturą
struct
(rozdział4,przykład4-4).
Przyokazji,zajmującsięzaawansowanymprzetwarzaniemnumerycznymnatablicach,
wartokorzystaćzbibliotekNumPyiSciPy.Zarazprzyjrzymysięimpokrótce.
NumPyiSciPy
Wcałejtejksiążceskupiamsięnadpodkreśleniemtego,cojestjużwbibliotecestandar-
dowejPythona,abymożnabyłojaknajlepiejzniejkorzystać.JednakbibliotekiNumPy
iSciPytakwspaniałe,żeniemogęichpominąć.
DziękizaawansowanymoperacjomnatablicachimacierzachbibliotekiNumPyiSciPy
sprawiły,żePythonznalazłsięwgłównymnurcienaukowychaplikacjikomputerowych.
BibliotekaNumPyimplementujewielowymiarowe,homogenicznetabliceitypymacierzo-
we,któreprzechowująnietylkoliczby,aletakżerekordydefiniowaneprzezużytkownika,
orazdostarczawydajnychoperacjinaelementach.
Kiedylistaniejestrozwiązaniem
|
57