Heim >Backend-Entwicklung >Python-Tutorial >In Python integrierte Funktion len

In Python integrierte Funktion len

高洛峰
高洛峰Original
2016-11-05 14:19:152124Durchsuche

Englische Dokumentation:

len(s)

Gibt die Länge (die Anzahl der Elemente) eines Objekts zurück. Das Argument kann eine Sequenz (z. B. eine Zeichenfolge, Bytes, Tupel) sein , Liste oder Bereich) oder eine Sammlung (z. B. ein Wörterbuch, ein Satz oder ein eingefrorener Satz).

Beschreibung:

1. Geben Sie die Länge des Objekts zurück , Parameter Es kann sich um eine Sequenz (z. B. Zeichenfolge, Byte-Array, Tupel, Liste und Bereichsobjekt) oder eine Sammlung (z. B. Wörterbuch, Menge, unveränderliche Sammlung) handeln

>>> len('abcd') # 字符串
>>> len(bytes('abcd','utf-8')) # 字节数组
>>> len((1,2,3,4)) # 元组
>>> len([1,2,3,4]) # 列表
>>> len(range(1,5)) # range对象
>>> len({'a':1,'b':2,'c':3,'d':4}) # 字典
>>> len({'a','b','c','d'}) # 集合
>>> len(frozenset('abcd')) #不可变集合

2. Wenn der Parameter für andere Typen gilt, muss er die Methode __len__ implementieren und eine Ganzzahl zurückgeben, andernfalls wird ein Fehler gemeldet.

>>> class A:
    def __init__(self,name):
        self.name = name
    def __len__(self):
        return len(self.name)

>>> a = A('')
>>> len(a)
>>> a = A('Aim')
>>> len(a)
>>> class B:
    pass

>>> b = B()
>>> len(b)
Traceback (most recent call last):
  File "<pyshell#65>", line 1, in <module>
    len(b)
TypeError: object of type &#39;B&#39; has no len()
>>> class C:
    def __len__(self):
        return &#39;len&#39;

>>> c = C()
>>> len(c)
Traceback (most recent call last):
  File "<pyshell#71>", line 1, in <module>
    len(c)
TypeError: &#39;str&#39; object cannot be interpreted as an integer


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn