为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰

已采纳回答 / qq_张_9
高阶函数:1、变量可以指向函数;2、函数的参数可以接收变量;3、一个函数可以接收另一个函数作为参数;装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。

已采纳回答 / GfengWong
首先中括号的表达式格式是错的,其次逻辑也是错误的,math.sqrt(x) == 0 返回肯定是false

已采纳回答 / 喷饭哥
#引入functoolsimport functools#lambda s1, s2: cmp(s1.upper(), s2.upper())是匿名函数,s1, s2是参数,cmp(s1.upper(), s2.upper()是表达式,可以看到表达式返回的结果是将s1和s2都变成大写以后来比较。也就是忽略了大小写。cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()),cmp是sorted函数的一个参数,用于排序时的比较,也就是我们想简略的那个参数。它的值等于匿名函数...

已采纳回答 / Aragaki1
首先你judgement函数写的有问题,里边的range(miner+1)应改成range(2,miner+1),因为如果每次从1开始做for循环的话,递归之后会进入死循环。其次你的judgement第二次拼错了。代码如下:<...code...>

已采纳回答 / qq_吴建广_0
是的,sorted()和filter()两个函数的用法是不一样的,主要是参数定义不一样。你在python 命令符下输入:help(sorted) 可以看到sorted()函数的帮助文档sorted(...)    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list可以看到,第一个参数 iterable 这应该是一个list 或者 tuple  第二个参数 cmp,默认是None  它应该传入一个函数同样可以看...

已采纳回答 / qq_吴建广_0
def f(x,y):     return x*ydef calc_prod(lst):    def fan_hui(f):     return reduce(f,lst)    return fan_huig=calc_prod([1,2,3,4])print g(f)return 返回的变量必须是函数体内或者函数参数里面包含的变量,外面的变量不能直接引用。

已采纳回答 / qq_子非鱼焉知梦_0
<...code...>如上、这是list的一种用法、f1,f2,f3=fs并不是把fs的值都分别赋给f1,f2,f3、而是f1对应fs[0],值为1,f2对应fs[1],值为4、本来我也懵逼、各处加print、自己试验出来的、希望能帮到你、

已采纳回答 / 學會
<...code...>你的函数f()没写完,要敲两次回车

已采纳回答 / qq_吴建广_0
能比,但是math.sqrt(x)**2 的结果很大的机会是比x大一点的小数,比如math.sqrt(10)**2 结果是 10.000000000000002。使用int()之后两边就相等了。但是这也是不准确的,比如math.sqrt(6)**2 =5.999999999999999  int()转型之后是5 

已采纳回答 / 漫_行
或许可以这样理解,父类同一属性被不同的子类继承;但是,这样属性在各个子类表现却不相同,即呈现多态;从这个角度说,是需要子类继承父类,却又要重新编写属于自己的属性(方法也是属性);希望,你帮助到你一点点...

已采纳回答 / qq_奔跑了丶兄弟_0
因为count函数中的fs是局部变量,在外部不能访问到。你说的应该可以简化为def coun():    x = 0    return xprint x在函数外不能访问函数内部的局部变量,会显示x is not defined

已采纳回答 / qq_低鸣灬神伤_0
return performance_dacorator  这里,上面是performance_decorator 拼写错误,再有错就是print不加括号,2.x和3.x的版本问题

已采纳回答 / 可鲁苏Aurevoir
f = cal_prod中f是一个变量,在此处f变量获得这个函数;f( ) 则是调用你已经获得的这个函数。区分一个是变量一个是函数(之前讲过函数名也可以是变量)

已采纳回答 / 可鲁苏Aurevoir
print()本身就是built-in function,在 python 3中必须用括号才能调用
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消