1. Python tili imkoniyatlari Pythonni ko`chirish


Baytlar (bytes va bytearray)



Yüklə 2,19 Mb.
səhifə35/78
tarix19.12.2023
ölçüsü2,19 Mb.
#152124
1   ...   31   32   33   34   35   36   37   38   ...   78
1. Python tili imkoniyatlari Pythonni ko`chirish

Baytlar (bytes va bytearray)


Pythonda baytli satrlar – bu nima va qanday maqsadlarda qo`llaniladi? Baytli satrlar oddiy satrlarga juda o`xshab ketsa-da, lekin, ba`zi farqlari ham mavjud. Keling shu farqlar haqida gaplashamiz.
Bayt o`zi nima? Bayt – raqamli axborotni saqlashva qayta ishlashda qo`llaniladigan eng kichik, minimal o`lchov birligidir. Baytlar ketma-ketligi o`zida ma`lum bir axborotni saqlaydi (matn, tasvir, musiqa …).
Baytli satr yaratamiz:

>>> b'bytes'
b'bytes'
>>> 'Байтлар'.encode('utf-8')
b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd0\xbb\xd0\xb0\xd1\x80'
>>> bytes('bytes', encoding = 'utf-8')
b'bytes'
>>> bytes([50, 100, 76, 72, 41])
b'2dLH)'

Bu yerdagi birinchi turgan uchta usul bilan biz tanishmiz. Oxirgisini esa tushuntirishimiz kerak bo`ladi. Bytes funksiyasi 0 dan 255 gacha bo`lgan sonlardan iborat ro`yxatni qabul qiladi va chr funksiyasini qo`llash oqibatida hosil bo`ladigan baytlarni qaytaradi.



>>> chr(50)
'2'
>>> chr(100)
'd'
>>> chr(76)
'L'

Baytlarni nima qilish kerak? Baytli satrlar deyarli barcha satrli ma`lumotlarning metodlarini qo`llasada, ular amalga oshirish kerak bo`lgan ishlar unchalik ham ko`p emas. Odatda ularni faylga yozish/fayldan o`qish yoki nimadir bir boshqa narsaga (ko`rinishga) o`tkazish mumkin. (Albatta, juda qattiq istasangiz, ularni chop etish ham mumkin). Ularni satrga aylantirish uchun decode metodi qo`llaniladi.



>>> b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd0\xbb\xd0\xb0\xd1\x80'.decode('utf-8')
'Байтлар'


Bytearray.


Pythonda bytearray – massiv baytdir. Bytes tipidan faqatgina uni o`zgartirish mumkinligi bilan farq qiladi. U haqida boshqa aytadigan muhim gap ham yo`q.

>>> b = bytearray(b'hello world!')
>>> b
bytearray(b'hello world!')
>>> b[0]
104
>>> b[0] = b'h'
Traceback (most recent call last):
File "", line 1, in
b[0] = b'h'
TypeError: an integer is required
>>> b[0] = 105
>>> b
bytearray(b'iello world!')
>>> for i in range(len(b)):
... b[i] += i
...
>>> b
bytearray(b'ifnos%}vzun,')

22-bob


Yüklə 2,19 Mb.

Dostları ilə paylaş:
1   ...   31   32   33   34   35   36   37   38   ...   78




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə