# -*- coding: utf-8 -*-
list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
# 答案 [1, 4, 9, 16, 25, 36, 49, 64, 81]
#Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数
def log(func):
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
# log 函数就是一个装饰器
def now():
print('2015-3-25')
#我们要借助Python的@语法,把decorator置于函数的定义处
@log
def now():
print('2015-3-25')
#答案:call now():
# 2015-3-25
# 偏函数:Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)functools.partial
的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。#
def int2(x, base=2):
return int(x, base)
#假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,
默认把base=2传进去
import functools
int2 = functools.partial(int, base=2)
int2('1000000')
# 答案:64
int2('1010101')
#答案:85
#当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的>
部分参数,从而在调用时更简单。