SORU
16 Ocak 2009, Cuma


Nasıl Python nesne boyutunu belirleyebilirim?

C,*, char, *1 vs boyutunu bulabiliriz. Bir dize, tamsayı, vb gibi nesnelerin boyutunu almak için nasıl bilmek istiyorum. Python.

İlgili soru: How many bytes per element are there in a Python list (tuple)?

Değer boyutu belirttiğiniz boyut alanları içeren bir XML dosyası kullanıyorum. Bu XML ayrıştırma ve benim kodlama yapmalıyım. Belirli bir alanın değerini değiştirmek istiyorum, bu değerin boyutu alanını kontrol eder. Buraya girmek için gong olduğumu yeni değeri XML olarak aynı boyutta olup olmadığını karşılaştırmak istiyorum. Yeni değer boyutunu kontrol etmek istiyorum. Bir dize halinde uzunluğu diyebilirim. Ama int olması durumunda, şamandıra vb. Kafam karıştı.

CEVAP
16 Ocak 2009, Cuma


Sadece kullanın sys.getsizeof işlev sys modülünde tanımlanmış.

sys.getsizeof(object[, default]):

Bayt nesne boyutunu döndürür. Nesne herhangi türde bir nesne olabilir. Yerleşik nesneler getirir doğru sonuçlar, ama bu değil gerçek bir üçüncü taraf tutmak zorunda bu gibi uzantıları uygulamasıdır özel.

default değişken tanımlamak eğer varsa, döndürülen bir değer nesne türü için bir yol sağlamaz boyutu almak ve bir neden olur TypeError.

getsizeof nesnenin aramalar __sizeof__ ve ek bir çöp toplayıcı ekler yükü yöntemi eğer nesne tarafından yönetiliyor çöp toplayıcı.

Kullanım örneği, python 3.0:

>>> import sys
>>> x = 2
>>> sys.getsizeof(x)
14
>>> sys.getsizeof(sys.getsizeof)
32
>>> sys.getsizeof('this')
38
>>> sys.getsizeof('this also')
48

Eğer python < ise; 2.6 ve this extensive module yerine kullanabilirsiniz sys.getsizeof yok. Hiç bir zaman kullandı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bogdan Gabriel

    Bogdan Gabri

    5 Aralık 2006
  • Attempts at least

    Attempts at

    1 Ocak 2007
  • MVLV28

    MVLV28

    17 Mart 2008