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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
1.高阶函数:函数调用函数
2.闭包 : 外层是带参数的函数,内层函数调用了外层的参数
3.装饰器 :就是高阶函数的应用,把函数做参数调用,包装一下,再返回函数
4.带参数的装饰器:就是外面又套了一层的函数

log_decorator = log('Debug')
log = log_decorator(log)
不错,看了评论好多说难的,我觉得如果是跟下来的,每节都做练习的话应该不难

最新回答 / 慕斯卡84278
<...图片...>可选参数可以添加,可以不添加。加了代表初始已按照f函数计算出最后的值,这里的f如果是乘法的,加1和不加1 无差别,如果是别的函数类型,将会出现明显差别

最赞回答 / Jian1299
x>y时候返回-1,也就是说当x>y,要进行交换,正好小的再前了。x<y时候返回1,也就是说当x<y,不进行交换,也保证了小的在前。

最新回答 / qq_陌上人_1
结果都是9,调用def g():return 3*3
这个问题值得学习

最赞回答 / 慕运维0267521
>>> x = f( )   这条语句是先调用函数f( ),并把return后的表达式赋值给x

最新回答 / yuanFF
在python3里面,map()的返回值是iterators,类似于range(),而不是list, 所以想要使用,需将iterator 转换成list
import math

def is_sqr(x):
return x and math.sqrt(x)==math.ceil(math.sqrt(x))
###math.sqrt(x)如果是可以开方,是浮点型,,##math.ceil(math.sqrt(x))是向上取整,其原理就是去零,如果两个相##等即可

print filter(is_sqr, range(1, 101))

最新回答 / qq_橙橙子_0
math.sqrt(x)  返回x的平方根,它的返回值是实数,不是int,比如:print math.sqrt(9) 结果是3.0,所以函数is_sqrt(x) 的所有返回值都是False,print 出来是一个[]

最新回答 / qq_哎呀_29
is_sqr函数返回的是布尔值,但是filter需要接收的是数字型

已采纳回答 / 芥子奇
python版本不同导致的。授课用的版本是python2,你用的是python3.在print后把输出的内容用括号括起来就可以了
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消