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

python进阶

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

已采纳回答 / hzcn
只是函数名代表着函数拥有的功能prod是product的缩写,具有“积”的意思,第一个calc_prod代表被调用后具有求积的功能,第二个lazy_prod表示具有延迟执行的作用。

已采纳回答 / 大王叫我来转转
因为你写的是f()调用的是函数结果啊,你如果写print f他显示的就是一个函数了

已采纳回答 / wudishiduo
fs中应该是三个函数吧,函数需要你调用才会得出最后值,所以调用的是f1(),你可以先试试把fs打印看看里面是函数还是值

已采纳回答 / qq_涯_1
这就是一个选择关系 可以根据情况加else,最后也可以直接return 简洁

已采纳回答 / macleo
def cmp_ignore_case(s1, s2):
    if s1.lower() > s2.lower():
        return 1
    if s1.lower() < s2.lower():
        return -1
    return 0


print(sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case))
# 顺序反了呀

已采纳回答 / 小马_125
可以这么认为,self就是r1,r是r2,这样self.p,self.q,r.p,r.q分别是1,3,1,2,返回的p就是
self.p * r.q + self.q * r.p,返回的q就是self.q * r.q

已采纳回答 / 海上小岛
python的属性不需要提前定义,赋值即定义python的属性没有类型限制

已采纳回答 / 慕侠425669
and 是与运算,两边都为真,才返回真而这里s and len(s.strip())>0其中先看 s 本身是否为真,再看 len(s.strip())>0 ,也就是去掉 s 中的空白符(包括'\n', '\r', '\t', ' ')后,看是否为真此时,两边都为真的情况下,才说明这个s是真

已采纳回答 / 慕设计3172499
因为题目要返回一个函数,你return reduce(f, lst, 1) 就变成直接返回一个值了

已采纳回答 / 夏侯将军
你没输入N的数值啊,输入数值调用就可以了

已采纳回答 / 蜕丶变
def calc_prod(lst):    def lazy_prod():        def f(x,y):            return x*y        return reduce(f,lst,1)    return lazy_prodf = calc_prod([1, 2, 3, 4])print f()你定义了三个函数,第二层函数没有返回结果

已采纳回答 / 苗同学
print(list(filter(lambda s: s and len(s.strip())>0,['test', None, '', 'str', '  ', 'END'])))
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类
意见反馈 邀请有奖 帮助中心 APP下载
官方微信

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消