已采纳回答 / 慕斯4574822
reversed_cmp并没有实现排序,只是一个单纯的比较,真正的排序方法是sorted()方法,reversed_cmp(x,y)由List传入参数进行比较,返回布尔值,再由sorted进行比较,我觉得也可以看做是两个嵌套,先执行内部方法,再执行sorted
2017-11-02
已采纳回答 / 慕田峪9364343
不是类型的问题,你将f该为f()的话, print f1() 实际上等于 print f1()() ,你试试去掉一个括号,直接打印f1,f2,f3
2017-10-30
已采纳回答 / 奔波儿灞_0001
这里所说的移到外部,是指将 lazy_sum 函数在calc_sum函数外部声明,这样的话lazy_sum函数将无法访问到lst变量,因为此参数只能在calc_sum内部使用。return lazy_sum 这句代码是将lazy_sum 函数作为结果返回到外部,然后在外部就可以调用了,并不是声明。
2017-10-30
已采纳回答 / miao2015
reduce是python中的一个高阶函数,接受的函数必须有两个参数,然后是list,函数的作用就是对list中的每一项连续作用,即list[0]和list[1]带入函数取得结果再和list[2]作为两个参数传入函数继续计算,直接到所有list中的项都参与了计算,第三个参数1代表是计算的初始值,这个例子不太好,考虑这个值是100,那就是100*reduce(f,lst)。在这个问题中,如果不使用reduce,那么你就要去遍历list,再一个个乘,相比之下,代码更高效简洁,试想一下,如果此时你要改变你的函数...
2017-10-29
已采纳回答 / 不想学习的攻城狮
这是因为 abs() 本身就不是从Python.math 中引入过来的,建议去看一下Python 的api ,这些函数都是Python 从C中引入的,在Python 中引入后的函数为 fabs(),如果使用Python 的 math 库写法就是 math.fabs() ,而abs() 函数应该是直接调用cmath库,因此使用abs() 时即使不引入 Python 的 math 库也是可以使用的。另外abs 函数是对整数取绝对值,fabs() 是可以对高精度浮点型取绝对值的。
2017-10-25
已采纳回答 / 该取什么名字
math.sqrt()返回的是一个浮点数,是float类型而不是int类型,比如sqrt(9)=3.0而不是3,因此isinstance()返回的都是False,所有元素都被过滤掉
2017-10-23
已采纳回答 / 余先生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)
2017-10-19
已采纳回答 / 慕粉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...
2017-10-19
已采纳回答 / 小猴子01234
Python 支持格式化字符串的输出 ,最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。<...code...> %f 格式化浮点数字,可指定小数点后的精度%s 格式化字符串
2017-10-17
已采纳回答 / 无职转生
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...
2017-10-16