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

python进阶

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

已采纳回答 / 卡布达巨人
从for i in range(1, 4)这句可以知道i从1变到3,你所说的1,4,9是指i*i的结果,i=3时,i*i=9,但进行i*i运算后不会改变i的值,i还是3不是9

已采纳回答 / LiKai0
f只是代表一个对象,不是对象LIST里面元素的个数,所以len是1,大家将Fib,循环放到一个list,然后通过list来确定数量,需要循环算出来

已采纳回答 / 咸猪手探花
错了, reversed_cmp只是判断它自己的两个参数,如x,y的关系。如果你觉得x应该在y的左边,那么就返回1, 如x = 1, y = 2 (你先从小到大排列顺序)。反之,reversed_cmp返回0(相等)或-1。sorted排序原理是,将两个数字比较,带到reversed_cmp中,如果为1,说名排序正确,不用交换位置,如果-1,则交换他们的位置。根据你的例子,第一次是比较[36, 5, 12, 9, 21]中的36和5(如果你想升序排), 那么reversed_cmp将会返回-1,sorte...

已采纳回答 / weibo_右魇_03332747
个人觉得,还是不一样的!首先,Python的特殊方法有不同部分的函数名,而C++的函数重载具有相同的函数名;其次,Python的特殊方法的目的是对类或实例进行一些特殊的操作,并不是与某些函数功能相似,而C++的函数重载则是指在同一作用域里,一组具有相同函数名、不同列表参数的函数,通常用来定义一组功能相似的函数。这些是我的个人理解,若有不对的地方,还请海涵!

已采纳回答 / ZQian
u1=u2代表将u2值赋给u1应该写成u1==u2

已采纳回答 / ZQian
def count():    fs = []    for i in range(1, 4):         def f(j):             return j*j        fs.append(f(i))    return fsf1, f2, f3 = count()print f1, f2, f3这样就对了应该返回int值 F1()是函数而不是一个值

已采纳回答 / 慕哥1236559
前面理解是对的,后面应该这么来理解,int是一种数据类型,你定义一个变量i,i就是int这种数据类型的一种实例,定义一个实例 p = Person(),p是Person的一个实例,Person可以理解为一种自定义的数据类型

已采纳回答 / 慕慕6205998
count()函数是返回fs这个list,这个list中的元素是函数而不是数字,就像[f(),f(),f()],f1,f2,f3=count()  就是f1,f2,f3=[f(),f(),f()]   当然这个f()是count里面的,第一个f()赋给了f1,第二个f()赋给了f2,...这样赋值方法高级序列赋值语句模式虽然可以在“=”符号两侧混合匹配序列类型,但是右边元素的数目还是要跟左边变量的数目相同,不然会产生错误。那么我们回到f()  依然是返回的i*i,但是在循环结束之后i的值是3,这是确定的,...

已采纳回答 / Psychicsirk
因为r = f(i)fs.append(r)所以fs = [f(1), f(2), f(3)]然后再分别赋值给f1,f2,f3所以就一一对应了

已采纳回答 / 冬青ilex
解释器又不是用__init__()来构建实例的,仅在创建时调用改函数设置初识属性。所以,在定义class的时候,__init__()本来就不是必须的。需要根据需求来决定是否添加。这段代码里面,json.load() 拟定传入的是一个有read()方法的object。并不需要这个object拥有某种属性,也不在通过创建实例时候在动态添加什么。所以可以省略def  __init__()这一步。

已采纳回答 / W_Qing
print  p1.get_grade              # =>   at 0x7fc09f505578>        #  p1.get_grade 调用的是函数,返回的是一个函数对象,不需要传入 selfprint  p1.get_grade() # =>   A               # p1.get_grade() 才是方法调用,返回的是函数返回的结果。self.get_grade = lambda: 'A’结果是:lambda 函数赋值给 self.get_g...

已采纳回答 / 稻草人wen
你得fs里面保存的是三个普通变量,不是函数名变量,所以应该按下面的写法。<...code...>

已采纳回答 / qq_Bestinme_0
是加了个__score吧,那个相当于私有属性了,外部访问不了,只能通过内部实例方法调用,如果直接写self.score那就相当于score的类型是public公共类型了,外部可以直接访问

已采纳回答 / Bette_man
lambda是一个匿名函数,x,y是他的参数,x*y是他的返回值,按着你下面那么写的话,函数只使用以此所以用匿名函数可以节省内存中定义变量的空间,而且能是程序更简洁
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消