SORU
23 Aralık 2009, ÇARŞAMBA


Python, nasıl bir iterable nesne ise belirleyebilirim?

isiterable gibi bir yöntem var mı? Şu ana kadar bulduğum tek çözüm aramak

hasattr(myObj, '__iter__')

Ama bunu nasıl emin değilim.

CEVAP
23 Aralık 2009, ÇARŞAMBA


Ördek yazarak

try:
    iterator = iter(theElement)
except TypeError:
    # not iterable
else:
    # iterable

# for obj in iterator:
#     pass

Bir tür denetleme

Abstract Base Classes kullanın. Python 2.6 en az ihtiyaçları var ve sadece yeni tarzı sınıflar için çalışır.

import collections

if isinstance(theElement, collections.Iterable):
    # iterable
else:
    # not iterable

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009