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

python进阶

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

最新回答 / 吉吉chen
请回看2-5的reduce函数,return reduce(f,lst,1)这句话的意思是返回lazy_prod函数调用后的结果,calc_prod(lst)是一个接受list参数的函数,它里面包括定义lazy_prod函数并返回lazy_prod函数。如果calc_prod(lst)这个函数没有被调用,那么这个函数不会进行参数乘积计算。

最新回答 / 慕运维5384406
代码:#coding=utf8import time, functoolsdef performance(unit):    def fn(f):        @functools.wraps(f)        def wrapper(*args,**kw):            t1 = time.time()            kk = f(*args,**kw)            t2 = time.time()            t = t2 - t1 if unit == 's...

最新回答 / 慕运维5384406
py3 和py2 改的地方还挺多的,尤其现在学的这块,也不知道你改了运行出来后,代码是不是一样的了,我这上面自己写的,下面是另一个同学的,但是在网页运行的时候,得到的时间不一样,而且差好远。。我就很惊讶,也就是只有部分函数名不一样而已呀

已采纳回答 / Superkailin
是相等的。把字符串转换成16进制表示方法。就想字符a用十进制表示是97

最新回答 / qq_慕尼黑1285797
返回的是列表,通过等号直接将列表内的元素赋值给f1,f2,f3

已采纳回答 / qq_嗑瓜子虫_03382717
这里你可以把它当作函数返回值, 可以理解为: 有一个myabs 指向的是一个lambda函数的地址, 这个函数以x为参数, 然后这句:
-x if x < 0 else x
可以把这段代码看成是
y = -x if x < 0 else x
return y
这样是不是就明白了?,如果上面的y右边的表达式不是很明白可以去看一下if...else...的语法.

最新回答 / qq_嗑瓜子虫_03382717
这个问题非常有意思了😜首先, 你的两个程序的结果可不仅仅是多出一个空字符的问题,而是function的返回值问题. filter(is_sqr, range(101)) 用于过滤range(101)中不符合条件(is_sqr)的元素,返回一个迭代器...
import time
def performance(f):
def t(*args):
t1=time.time()
f(*args)
t2=time.time()
print 'call '+ f.__name__ +'() in',t2-t1
return f(*args)
return t

@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
正确答案
import json

class Students(object):
def __init__(self):
self.read()

def read(self):
return r'["Tim", "Bob", "Alice"]'
s = Students()
print (json.load(s))
def calc_prod(lst):

def lazy_prod():

def prod(x,y):
return x*y
return reduce(prod,lst)

return lazy_prod

f = calc_prod([1, 2, 3, 4])
print f()
import math

def is_sqr(x):
t =math.sqrt(x)
if t % (int(t)) ==0:
return x



print filter(is_sqr, range(1, 101))
from functools import reduce
def calc_prod(lst):
def quad():
return reduce(ji,lst)
return quad
def ji(x,y):
return x * y
f = calc_prod([1, 2, 3, 4])
print(f())

哎还是学py3吧
import numpy

def calc_prod(lst):
return numpy.prod(lst)

f = calc_prod([1, 2, 3, 4])
print(f)

最赞回答 / showmeyourcode
def count(): fs = [] for i in range(1,4): def f(): return i*i fs.append(f()) return fs这样返回的是list

最新回答 / whistle971225
map(x, list)函数对list对象中每个元素进行函数x变换,这里不需要调用map函数,直接return s1即可得到首字母大写的list
首页上一页1234567下一页尾页
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消