SORU
25 EKİM 2008, CUMARTESİ


Neden bir Python dizeleri't dize uzunluğu bir yöntem yok var mı?

Bir python dize boyutunu belirlemek için kullanılan len() bir işlevi olduğunu biliyorum, ama dize değil, bir yöntem, bir nesne neden merak ediyordum.

Güncelleme

Tamam, beni utandıracak kadar yanlış olduğunu fark ettim. __len__() aslında bir string nesnesi bir yöntemdir. Sadece Python nesne yönelimli kod görmek garip string nesneleri uzunluk fonksiyonu gibi görünüyor. Ayrıca, aynı zamanda garip sadece len yerine adı olarak __len__.

CEVAP
25 EKİM 2008, CUMARTESİ


Dizeleri uzunluğu bir yöntem var: __len__()

Protokolde Python olduğu için bu yöntemi uygulamak nesneleri olan bir uzunluk ve kullanımı yerleşik len() fonksiyon, aramaları için, benzer şekilde olur uygulamak __iter__() ve yerleşik iter() fonksiyon (ya da yöntemi olarak adlandırılan sahne arkası için) nesneleri olan iterable.

Daha fazla bilgi için Emulating container types bkz.

Burada Python protokolleri konusunda iyi bir okuma var: Python and the Principle of Least Astonishment

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bach Vlogs

    Bach Vlogs

    18 HAZİRAN 2011
  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010