已采纳回答 / 重舟
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
最新回答 / Lucky_lda
sorted_ignore_case 利用Python中的偏函数将其第一个参数固定,仅传入第二个参数,第二个参数传入后先调用upper()函数转换成大写字母,再调用cmp()比较函数,比较二者的顺序,
2018-03-22
已采纳回答 / 慕前端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
最新回答 / 测试老憨
Python3,指定的key只接受一个参数,,上面的代码简化成print(sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.upper)),,,当然你也可以指定自定义的cmp函数
2018-03-19
最新回答 / L1Rui_
我理解错了 s是指list里的一个元素而不是list列表, map会遍历所有元素,所以s[0]并不是指'adam'个元素,而是元素'adam'里的第一个元素a,脑洞大开~
2018-03-18
最赞回答 / 慕田峪6529258
你好,self指的是定义的实例,而s指的是后面跟着的要比较的实例。如传入的列表L,是先比较第一个和第二个Student,然后排序,再跟第三个Student进行比较。其sorted()与cmp()的用法与其他类型的比较是一致的。
2018-03-16
已采纳回答 / 慕丝5066221
再定义类的时候就执行了print,如果你把最后一个也屏蔽#s = BStudent(),也会把上边的定义类时的print执行掉。最后一行s = BStudent(),只是赋值行为,不会执行类,所以不会执行print
2018-03-15