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

  • Canal TekZoom

    Canal TekZoo

    1 NİSAN 2012
  • NYCarspotter

    NYCarspotter

    26 EYLÜL 2011
  • YouChewBu

    YouChewBu

    26 Ocak 2009