怎么.__ len __()在这里工作?

时间:2015-09-30 03:54:53

标签: python

我是编程的初学者,目前正在学习Python课程。我正在使用PyCharm,正在编写一个函数来合并字典。我将参数的数量设置为变量,并且希望存储当函数被调用为在while循环中使用的变量时实际传递的参数的数量。在输入时,__len__()方法出现了,它似乎就是这样做的。我想知道是否有人可以解释这是如何工作的?我试着寻找答案,但我不完全确定我理解__len__()是如何工作的,以及它在这种情况下是如何工作的。

谢谢你, 梅丽莎

def merge_dicts(*dict):
    num_of_dicts = dict.__len__() 

1 个答案:

答案 0 :(得分:4)

你只想要len(dicts)。 (我强烈建议将其称为dicts,因为它是复数,因为它不会影响内置的dict。)

__len__是为各种类型实现len()的方法,但很少有任何理由直接调用__dunder__方法。