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

python进阶

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

最新回答 / 北玖i
f是对象,__xxx__一般定义特殊属性,所以f.__name__的意思就是调用对象 f 的特殊属性__name__

已采纳回答 / 慕粉4096446
类方法不需要创建实例,不需要new一个对象来调用,节省了创建实例的内存空间,就像static的东西似的,随着类的创建而创建而不是随着对象的创建而创建。

最新回答 / 慕粉4096446
因为慕课网的编译器得出来的结果有问题,结果是错误的,其实第一个结果也是错的。<function Person.__init__.<locals>.<lambda> at 0x0000017164FA78C8>A<bound method fn_get_grade of <__main__.Person object at 0x0000017164FB1400>>A这才是正确结果

已采纳回答 / 穿拖鞋的维恩
g1(5)中的5传到了fn(x)中的x,g1指向了fn,fn是要传入一个参数的,相当于g1要传入一个参数,最后一句print g1(5)相当于有执行fn(5),fn函数中又有f(x),相当于执行f(5),相当于执行f1(5),望采纳

已采纳回答 / Nayois
因为and有短路计算,x and y 如果x为False ,则结果直接为False这里None传入之后 直接判断为False了

最新回答 / 划水人
功能上是判断那个字符串是否为空的。strip的函数功能就是楼上的

最新回答 / Maus_
因为这些操作都在类内部完成,不是默认有个self吗

最赞回答 / _江帅
%s 和%fs是转换说明符,指出要将值插入什么地方,而要插入的值就是(f.__name__, (t2 - t1)),两个%对应两个值,输出结果就是call  f.__name__ () in  (t2 - t1);第二行就是简单的字符串拼接。

最赞回答 / Awful_Leo
错误原因:全局变量gcd未定义。因为你的gcd函数定义在了Rational这个类内部,成为了一个实例方法,但在__str__这个方法中,您并未按照实例方法来引用,等号右边应该是self.gcd,因为这是一个内部方法了。如果在类外面定义gcd函数,等号右面就可以直接用gcd了。

已采纳回答 / 慕容7012403
运行成功啊,输出结果也没问题,只是可能你的代码跟他给的答案不一致而已。

已采纳回答 / martingeng
>>> def add(x, y, f):...     return f(x) + f(y)...>>> print add(5, -5, abs)10在终端练习的时候需要注意,方法定义后需要进行空行以表示结束,连续输入会被认为是一个语句块,这样肯定会出现语法异常。
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消