英文文檔:
len(s)
Return the length (the number of items) of an object. The argument may be a sequence (such as a string, bytes, tuple, list, or range) or a collection (such as a dictionary, set, or frozen set).
說明:
1. 返回對象的長度,參數可以是序列(比如字串、位元組數組、元組、列表和range對象),或者是集合(比如字典、集合、不可變集合)
>>> 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. 如果參數為其它類型,則其必須實現__len__方法,並返回整數,否則報錯。
>>> 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 "", line 1, in len(b)TypeError: object of type 'B' has no len()>>> class C: def __len__(self): return 'len'>>> c = C()>>> len(c)Traceback (most recent call last): File "", line 1, in len(c)TypeError: 'str' object cannot be interpreted as an integer