Python 如何在for循环中使用sum函数?

Python 如何在for循环中使用sum函数?,python,for-loop,sum,Python,For Loop,Sum,我正在循环中使用sum函数 调用此函数后,我遇到错误: “AttributeError:'int'对象没有属性'num\u children'” c是一个整数,而不是类_InnerNode的实例,因此编译器找不到属性,这就是它向您抛出错误的原因(如注释中所述) 由于children是一个列表,最后一行的正确代码是: self.num\u children=sum(c表示children中的c)传递给InnerNode的children参数是什么类型的?因此c已经是int,为什么不直接求和呢?如何

我正在循环中使用
sum
函数

调用此函数后,我遇到错误:

“AttributeError:'int'对象没有属性'num\u children'”


c是一个整数,而不是类_InnerNode的实例,因此编译器找不到属性,这就是它向您抛出错误的原因(如注释中所述)

由于children是一个列表,最后一行的正确代码是:
self.num\u children=sum(c表示children中的c)

传递给
InnerNode
children
参数是什么类型的?因此
c
已经是
int
,为什么不直接求和呢?如何调用该函数?问题似乎如下:您正在使用定义为整数的
c
,并试图访问它没有的成员(即整数)。请确保没有在多个位置声明
c
(即在类中,然后在函数中局部声明)@FrancescoBoi,但
c
只是理解的产物。@quamrana很抱歉,您是对的:它是迭代变量,但是我希望
children
是一个可迭代的对象:它的元素是什么类型的?只是
self.num\u children=sum(children)
class _InnerNode(_Node):
    def __init__(self, ctr_idx, level, radius, children):
        self.ctr_idx = ctr_idx
        self.level = level
        self.radius = radius
        self.children = children
        self.num_children = sum(c.num_children for c in children)