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

  • Ampisound

    Ampisound

    12 Kasım 2006
  • Ludique

    Ludique

    21 NİSAN 2009
  • MrOctopi

    MrOctopi

    6 Aralık 2010