Python bytearray() fonksiyonu nedir?

Python

Selamlar. Bu yazının konusu Python bytearray fonksiyonu nedir. Bir önceki yazıda bool fonksiyonu hakkında bilgiler sunmuştum. Normalde bytelarda herhangi bir şekilde değişim işlemi uygulanmamakta. Ancak Python bu durur mu yapıştırmış cevabı. Al sana bytearray demiş.

Python bytearray fonksiyonu nedir

Python bytearray fonksiyonu nedir?

Aslında yukarıda basit olarak bi ipucu verdim. Byte türünde verilerle çalışıyorsunuz ve bu türden veriler üzerinde değişiklikler yapmak istiyorsanız byte fonksiyonunu kullanmanız gerekmekte. Bunun kardeşi ise bytes fonksiyonudur. O ayrı bir yazının konusu. Bu konu hakkında resmi dokümanda da görülebileceği üzere bytelardan oluşan bir diziden bahsediliyor. Dikkat çekilmesi gereken bir önemli ise artık mutable yani değiştirilebilir veri ile çalışıyor olacağımız. Normalde immutable durumdadır.

Bilgiler

bytearray opsiyonel olmak üzere üç adet parametre alır. Bu parametreler source, encoding ve error olarak belirtilmektedir. Bunlardan bahsetmek gerekiyor.

Source: Bytelardan olusan bir dizi icin bi kaynak. Bu bir string, integer, object olabilir ya da iterable bir nesne. Eğer source bir string ise mutlaka encoding değeri belirtilmelidir. Diyelim ki source bir iterable nesne. Iterable nesnenin count degeri kadar bir array olusturur. Bu iterable count icerisinde integer degerler olmalidir. Ornegin string bir iterable yaparsaniz TypeError firlatilir. O yuzden iterable nesne elemanlari sayilardan olusmali ve mutlaka 0 <= x < 256 olmalidir. integer kuralina uymazsaniz ValueError firlatilir.

Encoding: Eger bytearray fonksiyonu source yani kaynak degeri string olarak aliyor ise girilen string degerin encode edilmesi gerekmektedir. Cogu gelistirici bunu utf-8 olarak ayarlamakta. Tabi farkli opsiyonlari da kullanmak sizin elinizde.

Errors: Bu parametre ise kendisine ait bazi alt degerler icermektedir. Eger errors kullanilacak ise bunlardan birisini kullanmaniz gerekiyor strict, replace, ignore, xmlcharrefreplace ve backslashreplace alinmasi mumkun degerlerdir [Kaynak].

Kullanımı

Yukarıdaki bilgiler ışığında bazı örnekler yapalım

string deger ve bytearray

string = "Python harikadir"

ba = bytearray(string, encoding="ascii")

ba[15] = 65

print(ba)

Dönen değer bytearray(b’Python harikadiA’) olmaktadır.

integer deger ve bytearray

Eger integer bir deger kullanacaksak soyle yapmaliyiz:

i = 5

ba = bytearray(i)

print(ba)

Donen deger bytearray(b’\x00\x00\x00\x00\x00′) olmaktadir.

iterable deger ve bytearray

Eger iterable bir nesne kullanacaksak asagidaki sekilde kullanmaliyiz.

arr = [1, 2, 3]

ba = bytearray(arr)

print(ba)

Donen deger bytearray(b’\x01\x02\x03′) olmaktadir.

Oluşması Mümkün Hatalar

Bazı durumlarda hatalar ortaya çıkmaktadır. Bu hatalar muhtemelen doğru olmayan kullanımdan kaynaklıdır.

TypeError

Şöyle bir kullanım TypeError verecektir. Çünkü string deger encoding gerektirmektedir:

s = "Merhaba"

ba = bytearray(s)

print(ba)

ValueError

Bu kullanımda muhtemelen iterable nesne elemanlarından birisinin degeri 0 <= x < 256 kuralina aykiridir.

s = [256]

ba = bytearray(s)

print(ba)

Arkadaslar bu yazi bu kadar. Yazinin konusu Python bytearray fonksiyonu nedir oldu. Bir parca da olsa size faydali olabildiysem ne mutlu. Eger hatali bir nokta ya da onerileriniz var ise bildirirseniz sevinirim. Okudugunuz icin tesekkurler.

Bu arada yazinin uzerine Sumi Ko – Sposa, Son Disprezzata (Vivaldi) iyi gider. Dinleyin isterseniz.