已采纳回答 / qq_sl_study
from math import sqrtf=sqrt def add(x, y, f): return f(x) + f(y) print add(25, 9, f) 或者import mathf=math.sqrt def add(x, y, f): return f(x) + f(y) print add(25, 9, f)
2018-05-07
最赞回答 / Mark_DUT
纯手打:以log函数为例(自己去看代码):理解:设一个函数g,此时调用log函数,g=log(f),f为乘积函数。那么请认真思考,g=?很简单,既然你调用了log函数,那么肯定等于log函数的返回值,也就是return后面的东西。g=fn。同样的道理,fn=?在内部函数可以看到,fn等价于一句print语句(先不要管他的内容)+一个return值fn=print+f(x)。那么f(x)=?f就是你自己拿过来用的,要代入的一个函数。也就是此题中的乘积函数。所以整个分析过程就像剥洋葱一样,从外部开始考察,g=...
2018-05-07
最赞回答 / 安若_殇
首先因为print该对象时调用的该对象的__str__方法,所以需要重写该方法,其次__str__方法需返回字符串数据,而此时self,numbers的类型是一个list,不能直接返回,所以又套了一个str函数转换成字符串再返回。
2018-05-05
已采纳回答 / 慕桂英0574841
实例化的作用吧self.name = name #表示后面的实例按照这个类比 ,self.name:实例的name后面输出实例的时候会返回去调用函数,如果你没有写self.name = name它就会报错,告诉你这个实例没有在这个类里面定义。def __init__(self, name, gender): 里面的self就相当于 s = Student('Bob', 'male')里面的Student这个实例,让他们对应上面的属性相等。self.name = name(Bob)
2018-05-04
最赞回答 / 晨济
init A...init C...init B...init D...(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)可以使用D.__mro__方法查看调用顺序,直到object结束,在调用过程中不会打印,因为还没有执行到,最后依次打印,也就是,这个调用反过来,ACBD。
2018-05-02
已采纳回答 / y931
__repr__= __str____repr__和__str__这两个方法都是用于显示的,__str__是面向用户的,而__repr__面向程序员打印操作会首先尝试__str__和str内置函数(print运行的内部等价形式),它通常应该返回一个友好的显示。__repr__用于所有其他的环境中:用于交互模式下提示回应以及repr函数,如果没有使用__str__,会使用print和str。它通常应该返回一个编码字符串,可以用来重新创建对象,或者给开发者详细的显示。当我们想所有环境下都统一显示的话,可以重构...
2018-05-02