SORU
4 Mart 2009, ÇARŞAMBA


Nasıl bir Python nesne özniteliği varsa bilmek

Python bir şekilde eğer bir nesne bazı öznitelik olup olmadığını belirlemek için var mı? Örneğin:

>>> a = SomeClass()
>>> a.someProperty = value
>>> a.property
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'

Nasıl olursa a kullanmadan önce özniteliği property varsa söyleyebilir misiniz?

CEVAP
4 Mart 2009, ÇARŞAMBA


Hasattr () deneyin:

if hasattr(a, 'property'):
    a.property

Aşağıda zweiterlinde's answer Görmek, AF dilemek hakkında iyi bir öğüt veren! EDİT: Çok pythonic bir yaklaşım!

Genel uygulamada python, eğer özelliği olması muhtemeldir çoğu zaman, sadece arama ve ya izin dışında yaymak, ya da tuzak ile bir/dışında blok. Bu büyük olasılıkla hasattr Daha hızlı olacaktır. Mülkiyet çoğu zaman olmayacaktır muhtemelen, ya da emin değilseniz, hasattr kullanarak muhtemelen sürekli bir özel durum bloğu içine düşen daha hızlı olacaktır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • fireflame65

    fireflame65

    27 Mart 2007
  • Kindness

    Kindness

    23 Ocak 2006