已采纳回答 / 慕慕8321286
self.key的时候,key就不是指的for循环里面的key了, 而是self的一个属性,不信你可以试试将最后的输出xiaoming.job换成xiaoming.key 就会发现输出的值为Student
2018-04-06
已采纳回答 / qq_龙_18
这个不能那样计算的,你可以单独试试看 print(isinstance(math.sqrt(4),int)),这个的结果也是错的,因为math.sqrt()出来的是flout 所以不是int
2018-04-03
已采纳回答 / 知多少2017
calc_prod([1, 2, 3, 4] 的返回值类似函数的引用,不是函数值,需要后面加上()才能得到最后结果,其实你可以print calc_prod([1, 2, 3, 4])()试试。另外里层函数外面是调用不到的,不存在混淆。
2018-04-01
已采纳回答 / 重舟
Python3不再支持iteritems,要使用kw.items()&s P&rso&(ob class Person(object): def __init__(self, name, gender, birth, **kw): self.name = name self.gender = gender self.birth = birth for k, v in kw.items(): setattr(self, k, v) &min& = &ers xi...
2018-03-23
已采纳回答 / 慕前端3429475
如果被装饰器封装之后,f变量指向的函数已经不是函数f了(2-11有讲),而是装饰器函数,所以直接用f.__name__打出来也不是f了,这一节有例子的。如果想打印出f,就需要对f变量的属性重新赋值,这也就是functools的作用@new_fndef f1(x): return x*2相当于def f1(x): return x*2f1 = new_fn(f1)我记得有一句,f1的原始定义函数被完全隐藏了所以想要保留之前的属性的话就要在被替代前重新赋值给新的函数
2018-03-21
已采纳回答 / 慕丝5066221
再定义类的时候就执行了print,如果你把最后一个也屏蔽#s = BStudent(),也会把上边的定义类时的print执行掉。最后一行s = BStudent(),只是赋值行为,不会执行类,所以不会执行print
2018-03-15
已采纳回答 / 慕哥5335383
print reduce(prod,[2,5,7,12])应该跳出程序后,再执行,既回车跳出程序,在标识符后输入print reduce(prod,[2,5,7,12])<...图片...>
2018-03-13
已采纳回答 / Nameless13
__str__()用于显示给用户,而__repr__()用于显示给开发人员。如果在交互式命令行下 直接敲变量 s 就会返回<main.Person object at XXX> 这样的东西如果你配置了__repr__ = __str__你交互式命令行下打print s 和 直接敲变量 s 的返回值是一样的 都是(Student: Bob,male,88)
2018-03-08
最赞回答 / 慕姐1978998
import functools
sorted_ignore_case = functools.partial(sorted,cmp=lambda w1, w2: -cmp(w1.upper(),w2.upper()))
print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit'])试试这个,完美执行
2018-03-08