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

python进阶

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

已采纳回答 / 慕斯4574822
reversed_cmp并没有实现排序,只是一个单纯的比较,真正的排序方法是sorted()方法,reversed_cmp(x,y)由List传入参数进行比较,返回布尔值,再由sorted进行比较,我觉得也可以看做是两个嵌套,先执行内部方法,再执行sorted

已采纳回答 / 慕用8269398
因为题目是你要返回不为空的字符串啊,如果你只返回 len(s.strip())>0 就变成返回布尔值了,如果是空的返回的结果就是False

已采纳回答 / 慕田峪9364343
不是类型的问题,你将f该为f()的话,  print f1() 实际上等于 print f1()() ,你试试去掉一个括号,直接打印f1,f2,f3

已采纳回答 / 奔波儿灞_0001
这里所说的移到外部,是指将 lazy_sum 函数在calc_sum函数外部声明,这样的话lazy_sum函数将无法访问到lst变量,因为此参数只能在calc_sum内部使用。return lazy_sum 这句代码是将lazy_sum 函数作为结果返回到外部,然后在外部就可以调用了,并不是声明。

已采纳回答 / miao2015
reduce是python中的一个高阶函数,接受的函数必须有两个参数,然后是list,函数的作用就是对list中的每一项连续作用,即list[0]和list[1]带入函数取得结果再和list[2]作为两个参数传入函数继续计算,直接到所有list中的项都参与了计算,第三个参数1代表是计算的初始值,这个例子不太好,考虑这个值是100,那就是100*reduce(f,lst)。在这个问题中,如果不使用reduce,那么你就要去遍历list,再一个个乘,相比之下,代码更高效简洁,试想一下,如果此时你要改变你的函数...

已采纳回答 / 不想学习的攻城狮
这是因为 abs() 本身就不是从Python.math 中引入过来的,建议去看一下Python 的api ,这些函数都是Python 从C中引入的,在Python 中引入后的函数为 fabs(),如果使用Python 的 math 库写法就是 math.fabs() ,而abs() 函数应该是直接调用cmath库,因此使用abs() 时即使不引入 Python 的 math 库也是可以使用的。另外abs 函数是对整数取绝对值,fabs() 是可以对高精度浮点型取绝对值的。

已采纳回答 / hehehehehehehehe
在上一节装饰器最外围的基础上再嵌套一个函数就好,然后把s和ms转化下,参数弄一下。基本差不多

已采纳回答 / 该取什么名字
math.sqrt()返回的是一个浮点数,是float类型而不是int类型,比如sqrt(9)=3.0而不是3,因此isinstance()返回的都是False,所有元素都被过滤掉

已采纳回答 / 余先生2
嗯,按照你的想法我修改了下代码,运行结果也是一样的。import jsonclass Students(object):    name = r'["Tim","Bob","Alice"]'    def __init__(self):        print "init Student class"    def read(self):        return Students.names = Students()print json.load(s)

已采纳回答 / 慕粉0027932
self即你需要实例化的对象,self.name是这个需要实例化的对象的name,是个属性. 而__init__()函数的参数列表里的name是你穿进去的参数。__init__()参数列表里的name 其实也可以换成别的,你这样写哈:__init__(self, sname,sgender): self.name=sname   self.gender=sgender 也是可以的。明白这两个name的区别了么?self.name=name的含义是,你传一个name参数进去,将self的name(即self...

已采纳回答 / 小猴子01234
Python 支持格式化字符串的输出 ,最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。<...code...>   %f 格式化浮点数字,可指定小数点后的精度%s 格式化字符串

已采纳回答 / qq_陌路之殇_04201664
return r 就是返回原函数呀,r指向的是原函数,不返回原函数的话就谈不上对原函数功能的增强啦

已采纳回答 / 无职转生
class A(object):   def __init__(self, a):       print 'init A...'       self.a = aclass B(A):   def __init__(self, a):       super(B, self).__init__(a)       print 'init B...'class C(A):   def __init__(self, a):       super(C, self).__init__(a)       prin...
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消