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

python进阶

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

已采纳回答 / 苦糖咖啡
如果第二行,是新启了一个线程,那确实会出现你说的问题。但是这段代码不是新启线程,后面代码必然在前面代码执行过之后才会被执行的。
def format_name(s):
a = s.title()
return a
print map(format_name, ['adam', 'LISA', 'barT'])
Python 3 已经将reduce函数删除,如果要用的话需要调用functools 模块
并用lambda匿名函数实现如下:
from functools import reduce
print(reduce(lambda x,y:x*y, [2, 4, 5, 7, 12]))

最新回答 / 慕粉1755078621
为什么是这样子<map object at 0x0000000001DFD710>

最新回答 / 薛定谔与猫
顺便一提,在java和oc中我遇到过不少小功能,java和oc已经自带了,网上还是有不少人选择自己实现。大概他们也没这个闲心经常翻官方文档吧

已采纳回答 / qq_oO狼Oo_03832412
@log  def f(x,y):    return x+y上面这段代码的意思就是把原先f定义的函数覆盖掉,让它=fn定义的函数了所以直接print f(1,2)相当于print fn(1,2)

最新回答 / 哥雅的玛雅肖像
class Fib(object):    def __init__(self):        pass            def __call__(self,num):        self.num = num        list = []        for i in range(num):            if i==0 or i==1:                list.append(i)            else:                list.appe...
import json

class Students(object):
def read(self):
return r&#039;[&quot;Tim&quot;,&quot;Bob&quot;,&quot;Alice&quot;]&#039;

s = Students()

print json.load(s)
def count():
fs = []
def f(j):
def g():
return j*j
return g
for i in range(1, 4):
r=f(i)
fs.append(r)
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()

也可以这样哦

最赞回答 / qq_慕无忌3458526
@property装饰器把grade方法变为属性,所以调用方法就跟调用属性一样了

最赞回答 / 慕数据6963225
sorted和filter这两个高阶函数的参数是不一样的,sorted这个函数的第二个参数是函数类型,filter这个函数的第一个参数是函数类型

最赞回答 / 慕用6484265
对于对象而言  最重要的是属性和方法  属性区分开对象  而方法也可以看成是属性的一种调用函数时你是知道调用函数用来干什么 而调用对象你要指出让这个对象干什么  也就是调用方法可以说函数就是一种方法  只是不从属于对象本节的调用对象实际上是通过call特殊函数包装  看起来像是调用对象  实际上还是调用对象的方法只是这个方法比较特殊   参考前面的str len这些

已采纳回答 / xu_xiao
首先,根据第五行return i*i和第六行fs.append(f(i))语句,count()返回的列表fs的元素是整数,而不是函数。其次f1, f2, f3 = count()表示f1 = fs[0] , f2 = fs[1], f3 = fs[2],即f1, f2, f3均为整数,而不是函数。这个跟闭包教程里的代码不一样,教程里是fs.append(f)则fs的各项都是f函数。所以应该用print f1而不能用print f1()最后lambda表式匿名函数,第五行改成:return lambda: ...

最新回答 / 慕瓜2112296
是isinstance(),我知道了,因为用math.sqrt()计算出的都是浮点数

已采纳回答 / 慕婉清0652995
fs=[]    for i in range(1,4):        def f():            return i*i        fs.append(f)    return fsf1,f2,f3=count()print f1(),f2(),f3()        注意到   fs.append(f)中传入的为一个函数f,即在list中对应着三个函数地址(试试print f1,f2,f3 会显示为三个地址),调用f1,f2,f3 时则都对应着调用f函数,此时for循环已经结束,最终赋...
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消