最赞回答 / 划水人
课程里不是有提到嘛,就是降低调用的难度。比如你需要输出很多数字的二进制形式。print(int(1, base = 2))print(int(2, base = 2))print(int(3, base = 2))......通过你新建的函数(其实就是把base参数内置进了你的新函数里)再调用的时候就是:print(intNew(1))print(intNew(2))print(intNew(3))......因为例子只有base一个参数,如果默认参数有几十个,而且固定,你每次调用就要输入几十个参数,但是...
2019-04-25
最赞回答 / doudou20
//这里r 调用的f函数是参数吗?和performance(f)一致吗? 是一致的//请问这个是固定格式吗,必须输出call XXX () in XXX 吗? 不是固定的,根据自己需求输出就可以//为什么要返回r,也就是为什么返回f函数? 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。比如有输出日志的需求,不用在每个逻辑函数内都写一段相同的代码。
2019-04-24
最赞回答 / 慕标7383595
首先,str和repr都是将类的实例变为字符串的形式输出,其次,如果找不到str,会找repr,如果两者都没有,能正常运行,但是只是打印出了类实例的名称及内存地址,这才是输出错误的原因。
2019-04-23
最赞回答 / 桐人的星光
__add__自定义加法运算,两个分数进行加法运算会调用,调用加法函数返回有理数Rational函数(分子,分母).self是其中一个分数,r是另外一个分数,则分数计算法则[(s(self)的分子*r的分母 +s的分母 * r的分子)]—>(整个就是结果的分子),(s的分母*r的分母)—>(整个就是结果的分母)====如1/3+2/5=5/15+6/15=11/15,__str__则是自定义函数(字符串),返回字符串格式输出格式(p(分子)/q(分母)分数)
2019-04-22
已采纳回答 / 慕神7042524
import mathdef is_sqr(x): if int(math.sqrt(x))==1: return xprint filter(is_sqr, range(1, 101))当x=4时,sqrt(x)=2 不等于1,判断结束结果是[1, 2, 3]
2019-04-21
已采纳回答 / 夜半人寐
def calc_prod(1st):#不能是1st,数字开头了 def lazy_(): def f(x,y): return x*y return reduce(f,1st) return lazy_f = calc_prod([1, 2, 3,4])#中文逗号print f()
2019-04-20
已采纳回答 / 努力学习的泽羽
import mathdef is_sqr(x): return math.sqrt(x) % 1 == 0print (filter(is_sqr,range(1,101)))慕课网的版本是python2 , 你本机的应该是python 3.7(应该),语法上有不同,print后面需要加( )
2019-04-19