最赞回答 / 慕粉0113352
def f(j): def g(): return j*j return g通过上面这段代码 f( )就相当于 g()所以接下来的 r = f (i ) 就相当于 r = g(i) = i*i 啦
2017-06-26
已采纳回答 / 慕移动5367691
__add__是外部不可访问的特殊方法,是保留字,对应的就是符号‘+’而在外部可以访问的p.add(),在类的内部就是这样定义的: def add(self, *arg, **kw)
2017-06-24
最赞回答 / qq_醉梦m_0
你把__init__理解成是一个构造函数,,构造函数外围的count=0理解成是一个默认参数,而在实例化对象的实现最先调用的是构造函数,然后在第一次调用构造函数里面的count因为没有值就是使用默认参数,因此第一次调用的count是0的默认值,然后第二次调用的时候是有参调用以此用的是有参的count,以此类推。
2017-06-24
最赞回答 / 慕函数8206309
这个斐波那契数列公式当(n>=2时为)f(n)=f(n-1)+f(n-2) ;f(0)=0,f(1)=1.这两个是固定值所以定义为self.fibo = [0,1] while这个循环就是相当于从n=2开始去执行那个公式计算出f(n),然后把这个结果保存到 self.fibo中去
2017-06-23
已采纳回答 / weibo_耕耘不是一头爪哇牛_0349
问题应该出在你调用的gcd函数上,我也是小白,建议重写这个函数。附上重写的gcd:def gcd(p,q): if p > q: m = q if p < q: m = p for n in range(1, m + 1): if p % (m-n+1) == 0 and q % (m-n+1) == 0: return (m-n+1) 注意,这个函数是定义在类之外的再附上结果:3/41/41/82/1
2017-06-23
最新回答 / kingofzihua
a, b = b, a + b等于( a, b) = (b, a + b)等于x=a;a=b;b=a+b;先算右边的表达式,然后把右边的结果统一赋值为左边的,
2017-06-23
已采纳回答 / 曾老爷子
sorted函数会挨个比较list中的每个值,比如比较这两个:Student('Tim', 99), Student('Bob', 88) 而这里list每个值都是一个实例,每次比较会进到实例的方法中。开始self.name = Tim s.name = Bob 等到下一次进行比较的时候self.name和s.name就变成下一位要比较的两个实例的参数了
2017-06-23