Bir Unicode dizesi veya bir bayt (veya bytearray) nesnesini kabul edecek bir işlev yapıyorum. Sadece bu türlerin geçtiğinden emin olmak istiyorum. isinstance(x, str)
yaparak bir şey olup olmadığını kontrol edebileceğimi biliyorum ve isinstance(x, bytes) or isinstance(x, bytearray)
yazabileceğimi biliyorum.Süper sınıf bayt ve bytearray?
Sonunu kontrol etmek için daha kısa bir yol var mı, yani, hem bytes
hem de bytearray
'un türetildiği bir sınıf var mı?
>>> bytearray.__base__
<class 'object'>
>>> bytes.__base__
<class 'object'>
türü için kontrol etmeyin:
Python 2 için ikili türüdür olarak
, ayrıca, özel bir durum olarak dizeleri kabul etmeleri gerekmektedir ? Neden açık bir şekilde türü kontrol edin? –
@Jim: Bilmiyorum. Herhangi bir ikili veri için (egzersiz olarak) LZW sıkıştırmayı uygulamaya çalışıyorum. Kabul etmek için başka hangi türler mantıklı olurdu? – Javier
Örneğin NumPy dizileri. Ya da C uzantı tipi kütüphanenizin kullanıcısını yazdı. Bunun ne tür yararlı olabileceğini bilmiyorsunuz. Aldığınız şeylerle çalışmayı deneyin - eğer tür gereksinimleri karşılamıyorsa kodunuz yine de başarısız olacaktır. –