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

  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • mipd1980

    mipd1980

    25 EKİM 2006
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011