首页投稿(暂停使用,暂停投稿)

python 的funtools模块

2016-05-25  本文已影响437人  梅_梅

functools.partial

from operator import add
import functools
print add(1,2) #3
add1 = functools.partial(add,1)
print add1(10) #11

functools.update_wrapper

#-*- coding: gbk -*-

def thisIsliving(fun):
  def living(*args, **kw):
    return fun(*args, **kw) + '活着就是吃嘛。'
  return living

@thisIsliving
def whatIsLiving():
  "什么是活着"
  return '对啊,怎样才算活着呢?'

print whatIsLiving()
print whatIsLiving.__doc__

print

from functools import update_wrapper
def thisIsliving(fun):
  def living(*args, **kw):
    return fun(*args, **kw) + '活着就是吃嘛。'
  return update_wrapper(living, fun)

@thisIsliving
def whatIsLiving():
  "什么是活着"
  return '对啊,怎样才算活着呢?'

print whatIsLiving()
print whatIsLiving.__doc__

#output
对啊,怎样才算活着呢?活着就是吃嘛。
None

对啊,怎样才算活着呢?活着就是吃嘛。
什么是活着

functools.wraps

#-*- coding: gbk -*-

from functools import wraps

def thisIsliving(fun):
  @wraps(fun)
  def living(*args, **kw):
    return fun(*args, **kw) + '活着就是吃嘛。'
  return living

@thisIsliving
def whatIsLiving():
  "什么是活着"
  return '对啊,怎样才算活着呢?'

print whatIsLiving()
print whatIsLiving.__doc__
#output
对啊,怎样才算活着呢?活着就是吃嘛。什么是活着

上一篇下一篇

猜你喜欢

热点阅读