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

  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • Lamarr Wilson

    Lamarr Wilso

    27 Aralık 2008
  • laptopmag

    laptopmag

    25 Ocak 2008