def format_name(s):
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
2016-02-08
import math
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
2016-02-08
def cmp_ignore_case(s1, s2):
if s1.lower()<s2.lower():
return -1
if s1.lower()>s2.lower():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
if s1.lower()<s2.lower():
return -1
if s1.lower()>s2.lower():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2016-02-06
import math
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 101))
2016-02-06
def cmp_ignore_case(s1, s2):
if s1.lower()<s2.lower():
return -1
elif s1.lower()>s2.lower():
return 1
else:
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
if s1.lower()<s2.lower():
return -1
elif s1.lower()>s2.lower():
return 1
else:
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2016-02-06
import math
def is_sqr(x):
return x and math.sqrt(x)-math.sqrt(x)//1==0
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return x and math.sqrt(x)-math.sqrt(x)//1==0
print filter(is_sqr, range(1, 101))
2016-02-06
慕課裡,有一門課的視頻叫『python装饰器』 裡面有詳細的解釋。可以去把它看完。
視頻裡沒有講到 這一張的 三層裝飾器,但估計只要前面懂,這一章也是可以理解的。
視頻裡沒有講到 這一張的 三層裝飾器,但估計只要前面懂,這一章也是可以理解的。
2016-02-05
__slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。除非在子类中也定义__slots__,就像答案中一样,子类允许定义的属性就是自身的__slots__加上父类的__slots__。
2016-02-04
因为只有i的时候,fs中存的都是f(i),后面count调用fs的时候,再调用i时i就是最后的3了。后面一种方法引入j后,因为定义的函数是f(j),所以在fs中写入的就不会是f(i)了,而是f(1),f(2),f(3)#因为j=i=1/2/3#,即count中便是f(1),f(2),f(3)
2016-02-04
import time
def performance(f):
def fn(x):
t1 = time.time()
r = f(x)
print "call %s() in %s" %(f.__name__, (time.time() - t1))
return r
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
def performance(f):
def fn(x):
t1 = time.time()
r = f(x)
print "call %s() in %s" %(f.__name__, (time.time() - t1))
return r
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
2016-02-02