已采纳回答 / 卡布达巨人
从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
2016-05-26
已采纳回答 / 咸猪手探花
错了, 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...
2016-05-25
已采纳回答 / weibo_右魇_03332747
个人觉得,还是不一样的!首先,Python的特殊方法有不同部分的函数名,而C++的函数重载具有相同的函数名;其次,Python的特殊方法的目的是对类或实例进行一些特殊的操作,并不是与某些函数功能相似,而C++的函数重载则是指在同一作用域里,一组具有相同函数名、不同列表参数的函数,通常用来定义一组功能相似的函数。这些是我的个人理解,若有不对的地方,还请海涵!
2016-05-24
已采纳回答 / 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()是函数而不是一个值
2016-05-23
已采纳回答 / 慕哥1236559
前面理解是对的,后面应该这么来理解,int是一种数据类型,你定义一个变量i,i就是int这种数据类型的一种实例,定义一个实例 p = Person(),p是Person的一个实例,Person可以理解为一种自定义的数据类型
2016-05-20
已采纳回答 / 慕慕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,这是确定的,...
2016-05-17
已采纳回答 / Psychicsirk
因为r = f(i)fs.append(r)所以fs = [f(1), f(2), f(3)]然后再分别赋值给f1,f2,f3所以就一一对应了
2016-05-15
已采纳回答 / 冬青ilex
解释器又不是用__init__()来构建实例的,仅在创建时调用改函数设置初识属性。所以,在定义class的时候,__init__()本来就不是必须的。需要根据需求来决定是否添加。这段代码里面,json.load() 拟定传入的是一个有read()方法的object。并不需要这个object拥有某种属性,也不在通过创建实例时候在动态添加什么。所以可以省略def __init__()这一步。
2016-05-14
已采纳回答 / 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...
2016-05-14
已采纳回答 / qq_Bestinme_0
是加了个__score吧,那个相当于私有属性了,外部访问不了,只能通过内部实例方法调用,如果直接写self.score那就相当于score的类型是public公共类型了,外部可以直接访问
2016-05-11
已采纳回答 / Bette_man
lambda是一个匿名函数,x,y是他的参数,x*y是他的返回值,按着你下面那么写的话,函数只使用以此所以用匿名函数可以节省内存中定义变量的空间,而且能是程序更简洁
2016-05-08