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

  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • schmittastic

    schmittastic

    9 EYLÜL 2009
  • UniqueApps

    UniqueApps

    4 Ocak 2009