Python內建函數(37)——len,python內建37len

來源:互聯網
上載者:User

Python內建函數(37)——len,python內建37len

英文文檔:

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') # 字串4>>> len(bytes('abcd','utf-8')) # 位元組數組4>>> len((1,2,3,4)) # 元組4>>> len([1,2,3,4]) # 列表4>>> len(range(1,5)) # range對象4>>> len({'a':1,'b':2,'c':3,'d':4}) # 字典4>>> len({'a','b','c','d'}) # 集合4>>> len(frozenset('abcd')) #不可變集合4

  2. 如果參數為其它類型,則其必須實現__len__方法,並返回整數,否則報錯。

>>> class A:    def __init__(self,name):        self.name = name    def __len__(self):        return len(self.name)>>> a = A('')>>> len(a)0>>> a = A('Aim')>>> len(a)3>>> 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 'B' has no len()>>> class C:    def __len__(self):        return 'len'>>> c = C()>>> len(c)Traceback (most recent call last):  File "<pyshell#71>", line 1, in <module>    len(c)TypeError: 'str' object cannot be interpreted as an integer

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.