Python bytes() fonksiyonu nedir?

Python

Selamlar. Bu yazının konusu Python bytes fonksiyonu nedir olacak arkadaşlar. Bir önceki yazı bytearray hakkında yazılmıştı. Açıkcası bu yazı hakkında uzunca konuşmak gereksiz. Çünkü bir önceki yazıda bahsedilen içerikler tamamen aynı olacak.

Python bytes fonksiyonu nedir

Nasıl Kullanılır

Bir önceki yazıdan tamamen alıntı yapsam herhangi bir sıkıntı olmayacaktır. Tek farki burada bytelardan olusan dizi daha sonra degistirilemez durumdadir.

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 bytes 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 bytes

string = "Python harikadir"
 
ba = bytes(string, encoding="ascii")

print(ba)

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

integer deger ve bytes

Eger integer bir deger kullanacaksak soyle yapmaliyiz:

i = 5
 
ba = bytes(i)
 
print(ba)

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

iterable deger ve bytes

Eger iterable bir nesne kullanacaksak asagidaki sekilde kullanmaliyiz.

arr = [1, 2, 3]
 
ba = bytes(arr)
 
print(ba)

Donen deger bytes(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 = bytes(s)
 
print(ba)

ValueError

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

s = [256]
 
ba = bytes(s)
 
print(ba)

Arkadaslar bu yazi bu kadar. Yazinin konusu Python bytes 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.