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

  • FullMag

    FullMag

    15 ŞUBAT 2007
  • J Medema

    J Medema

    11 EKİM 2006
  • RyanXLT

    RyanXLT

    22 Ocak 2011