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

python进阶

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

已采纳回答 / 慕慕8545101
因为这里只是需要传入一个函数就行了,当upper加了括号就变成了函数的调用。
sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y

最赞回答 / suarezxyw96
第一个代码段中,fs.append(f)中这个f是f函数的名称,该名称指向的是f函数的内存地址。你可以打印f1, f2和f3,你会发现打印出来的都是函数的地址,所以当调用f1的时候其实是调用了f函数,但此时f函数中的i已经变成了3。在第二个代码段中,fs这个list中添加的是f(1),f(2)和f(3)。所以结果为1,4,9

最新回答 / 慕神7650425
__dict__是特殊属性,储存实例的属性和值,update是方法,kw是dict字典,我也不是特别懂,看得多了,觉得挺好用,比for循环,记下来就好
def num(q):
n=[]
def x(q):
q=q+1
for i in range(1,q):
n.append(i*i)
str_convert = ' '.join(list(map(str,n)))
return str_convert
return x(q)
print num(3)
def cmp_ignore_case(s1, s2):
if s1[0].upper() < s2[0].upper():
return -1
if s1[0].upper() > s2[0].upper():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
import math

def is_sqr(x):
return math.sqrt(x) - int(math.sqrt(x)) == 0


print filter(is_sqr,list(range(1, 101)))
class Person(object):
pass
p1 = Person()
p1.name = 'Bart'

p2 = Person()
p2.name = 'Adam'

p3 = Person()
p3.name = 'Lisa'
L1 = [p1,p2,p3]
L2 = [];

for i in L1:
L2.append(i.name)
L3 = sorted(L2)
print(L3)
表示lambda函数不太理解

最赞回答 / 小胖脸码农
看到你的代码中 fs.append(f()) 存入的是函数调用的结果,按题目的原意的是将函数变量存入列表中,即为 fs.append(f) f1, f2,f3 = count()相当于 [f1,f2,f3] = [f, f, f]然而每个f() 返回的是 i*i,for循环中会导致i变量会递增,最终<...图片...>i 都会递增到3,所以需要将变量绑定到一个过渡的值

最新回答 / 慕容9253047
当内部函数fn执行到return r时,表示fn已经执行完毕,其内部定义的t1,t2以及r都是局部变量,一旦执行完fn,这些变量对外部无效,print内容放后面,会提示t1,t2未定义

最新回答 / barry_lu
i只是一个变量 定义成什么 是自己任意的 只是一个名字而已;当调用  r = f(i) 时,实际的 i 也就 变成了 函数类的 j ;所以 函数定义的 参数名 不影响 函数实际的 接收参数, 也就是 函数的 实参和形参
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消