美文网首页
40-python中 __len__

40-python中 __len__

作者: mingminy | 来源:发表于2017-12-22 13:49 被阅读0次

如果一个类表现得像一个list,要获取有多少个元素,就得用len()函数。

要让len()函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。

例如,我们写一个 Students 类,把名字传进去:

class Students(object):

def __init__(self, *args):

self.names = args

def __len__(self):

return len(self.names)

只要正确实现了__len__()方法,就可以用len()函数返回Students实例的“长度”:

>>> ss = Students('Bob', 'Alice', 'Tim')

>>> print len(ss)

3

相关文章

  • 40-python中 __len__

    如果一个类表现得像一个list,要获取有多少个元素,就得用len()函数。 要让len()函数工作正常,类必须提供...

  • Python中__len__

    如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。 要让 len() 函数工作正常,类...

  • Python数据模型

    1.1 __getitme__和__len__方法 import collectionsfrom randomim...

  • 一些常用的魔法函数

    1. __ len__函数 在Python中,如果你调用len()函数试图获取一个对象的长度,实际上,在len()...

  • 魔术方法(创建属于想自己的序列)

    ### `__len__()`魔术方法: 在使用`len(obj)`的时候,会调用这个魔术方法。 ### `__g...

  • Python 源码阅读: list 中的 __len__() 和

    Python 源码阅读: list 中的 _len_() 和 in 本文内容为博主阅读源码和官方文档以及其他相关文...

  • python特殊方法(魔术方法)

    例子 用于print的__str__方法 用于len的__len__方法 用于cmp的__cmp__方法 特点 特...

  • 【Python】笔记19(定制类)

    回顾__slots__,用来限制class实例所能添加绑定的属性;.__len__用于调用该string类型的字符...

  • Python序列协议

    Python序列协议 一、序列协议 只要实现了__getitem__和__len__方法,就会被认为是序列。示例:...

  • 40-Python之递归函数

    在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n!...

网友评论

      本文标题:40-python中 __len__

      本文链接:https://www.haomeiwen.com/subject/yrgtgxtx.html