最赞回答 / wztg
在__cmp__中先判断列表中元素是否是Student类型,不是的话转成字符串跟name比较就可以了 def __cmp__(self, s): if not isinstance(s, Student): return cmp(self.name,...
2019-12-03
最赞回答 / leng奕书
python3中map()返回iterators类型,不再是list类型。进行list转换即可.def format_name(s): return s.capitalize()print(list(map(format_name,['adam', 'LISA', 'barT'])))
2019-12-01
def is_sqr(x):
return (x**0.5) % 1 == 0
print filter(is_sqr, range(1, 101))
return (x**0.5) % 1 == 0
print filter(is_sqr, range(1, 101))
2019-11-30
# -*- coding: utf-8 -*-
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
fs.append(f(i))
return fs
f1, f2, f3= count()
print(f1(), f2(), f3())
print(count())
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
fs.append(f(i))
return fs
f1, f2, f3= count()
print(f1(), f2(), f3())
print(count())
2019-11-28
# -*- coding: utf-8 -*-
from functools import reduce
def calc_prod(lst):
def prod(x, y):
return x*y
return reduce(prod, lst)
f = calc_prod([1, 2, 3, 4])
print(f)
from functools import reduce
def calc_prod(lst):
def prod(x, y):
return x*y
return reduce(prod, lst)
f = calc_prod([1, 2, 3, 4])
print(f)
2019-11-28
最新回答 / skyinglyh
map的用法:map(function, iterable...)你的写法其实是把format_name(s)中的s即'adam', or 'LISA', 'barT',一个string中的每个元素转为title 然后拼成List,再返回,所以最终string会被拆为List. 参考def format_name(s): return s.title()print map(format_name, ['adam', 'LISA', 'barT'])或def format_names(s): r...
2019-11-28
只有父类和子类都定义了 __slots__ 属性,子类的属性限制才有效
子类的属性限制等于父类的 __slots__ 属性加子类的 __slots__ 属性
子类的属性限制等于父类的 __slots__ 属性加子类的 __slots__ 属性
2019-11-24
最赞回答 / 慕UI8710318
count是类属性,要改变类属性得用“Person.count”,“p1.count”改变的只是实例p1的属性,而是实例属性的优先级比类属性高,我是这么理解的。
2019-11-22
最赞回答 / 流芒阿
别那么玄 你API都开放给别人,别人就只能调用而已 。 就是你的类被继承的时候,你不希望子类重写一些属性。在架构设计的时候,java上会些一些被保护和私有属性或者方法,避免一些瓜皮把系统整崩了
2019-11-22
最新回答 / 宝慕林1502307
<...code...>你把代码分隔一下,有助于理解。<...code...>之所以会这样输出,是因为 print 在输出时,会先去求解 f() 的运算结果,而 f() 运算的副作用就是在 print 方法之前输出了<...code...>
2019-11-20