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

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • kruno j

    kruno j

    6 Mayıs 2007
  • spyib

    spyib

    9 Ocak 2007