SORU
23 Ocak 2009, Cuma


Python __slot__

Python, __slots__ amacı nedir ve bunu önlemek gereken durumlar nelerdir?

CEVAP
23 Ocak 2009, Cuma


Jacob Hallen alıntı:

__slots__ doğru kullanımı nesneleri yer kazanmak için. Yerine her zaman nesneleri ekleme nitelikleri sağlayan dinamik bir dict, oluşturulduktan sonra eklemeler izin vermeyen statik bir yapı var. Bu yuvaları kullanan her nesne için bir dict yükü kaydeder. Bu bazen yararlı bir optimizasyon ise, tamamen olurdu eğer Python yorumlayıcısı dinamik olsaydı gereksiz olurdu o yüzden bu kadar yeter aslında nesne eklemeleri varken tek dict gerektirir.

Ne yazık ki yuvaları için bir yan etkisi yoktur. Onlar bu davranış değişikliği control freaks tarafından istismar edilebilir bir şekilde yuva olan nesneleri ve statik yazarak sosislerinden. Bu kontrol ucube gerekir, çünkü kötü, bu metaclasses taciz ve statik yazarak muhallebi çocukları cinsel tacizde bulunuyor olmalı Python ile bir şeyler yapmanın tek yolu açık olmalı beri dekoratörler,.

CPython tasarruf alanı işlemek için yeterince akıllı __slots__ olmadan yapıyor büyük P3k için değişiklik listesinde değil herhalde bu yüzden, girişim, (henüz).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hak5

    Hak5

    7 EYLÜL 2005
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • UniqueApps

    UniqueApps

    4 Ocak 2009