最新回答 / qq_龙_18
print 'call %s() in %f %s' % (f.__name__, t, unit)这个语句打印的是call“f.__name__”()这个函数in“t”unit(毫秒) print '[%s] %s()...' % (prefix, f.__name__)这个语句打印的是【prifix】"f.__name__"()...只是按照你需要的打印方式放不同的参数在不同的位置,没有什么不同的地方
2017-09-18
已采纳回答 / qq_冷月秋风_0
你理解错了。你把Person.how_mang()改成了p1.how_mang()不是类方法获得了实例变量。而是实例方法获得了类属性。python支持类和实例都可以使用类方法的。因为类属性变化之后是唯一的,所以实例方法获取之后输出的结果会和类方法输出的一样。
2017-09-17
最新回答 / 本质学习者
首先会判断分数是否相等,相等的话就根据name的首字母进行默认的排序,然后继续根据分数进行从高到低排序,cmp默认是按从小到大排序的,但是前面加了-cmp就会倒过来进行从高到低排序,这里的return -cmp(self.score, s.score)不是在分数不相等的情况下才执行的和如下写法是不同的一个是顺序执行一个是多选1执行的<...图片...>
2017-09-17
最新回答 / 宝慕林2404894
你在sorted([p1.name,p2.name,p3.name],...)中[p1.name,p2.name,p3.name]实际是一个列表,对应['Bart','Adam','Lisa'],所以是没有.name这个属性的。如果想要运用你自己的方法,可以将代码改为L2=sorted([p1.name,p2.name,p3.name],lambda p1,p2:cmp(p1,p2))print L2[0]print L2[1]print L2[2]
2017-09-17
最新回答 / 大神宫
import 模块名 是将模块中所有函数导入from 模块名 import 函数名 是将模块中的某个函数导入你导入模块 那么模块中所有函数都能用,但是使用时得加上模块名 比如math.sin(3.14)你导入模块的某个函数 使用时不需要模块名 可以直接 sin(3.14)
2017-09-17
最赞回答 / 大神宫
class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def whoAmI(self): return 'I am a Person, my name is %s' % self.name当你实例化对象时会创建两个属性 name和gender,所以dir(p)有这两个属性,Person是没有的,你可以这样class Pe...
2017-09-17
已采纳回答 / leibo
calc_prod返回了一个不带参数的函数lazy_prod(), lazy_prod()这个函数返回了一个经过reduce()计算后的结果,就是最终计算出来的值。f = calc_prod([1, 2, 3, 4])的执行结果是函数lazy_prod的引用,也就是所f就是calc_prod的返回值,是一个函数。最后f()才真正调用了上一步返回的函数,执行了reduce并返回最后的结果。这里其实用到的就是闭包,函数内部的函数可以访问外部函数的局部变量,包括参数。 并且返回一个新的函数。
2017-09-17