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

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • stokelycalm

    stokelycalm

    28 Aralık 2010
  • whatever

    whatever

    30 EYLÜL 2005