由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个PYTHON问题
相关主题
python decorator 调用问题Python里面的for i in range(len(enum))[::-1]:到底是什么意思?
cyphon,cpython,numba,julia,pypy,为什么都不是主流python 问题
golang的method是后来加的?python下的expect
[合集] First impression on Pythonpython一问
Static variables in functionpython 可以给class动态添加method吗?
python弱问题return value of a python function...
请教pythonPython Q: function pass in struct pointer, come back with data filled
Python程序员请进python pygtk 安装
相关话题的讨论汇总
话题: lll话题: def话题: xxx话题: wrapper话题: kwds
进入Programming版参与讨论
1 (共1页)
b*******t
发帖数: 34
1
新手问个问题。下面的PYTHON程序
在decorator里面是怎么绑定的? 这个程序里
n <---5
func <---LLL
args,kwds <--- a,b (or 1,1)
是什么样的规则?
========================
> cat a.py
def XXX(n):
def Wrapper (func):
def S(*args,**kwds):
for i in xrange(n):
print 20+func(*args, **kwds), ","
return S
return Wrapper
@XXX(5)
def LLL(a,b):
return a+b+1
print LLL(1,1)
========================
》python a.py
23 ,
23 ,
23 ,
23 ,
23 ,
None
m********2
发帖数: 89
2
@XXX(5)
def LLL():
...
is the same as
def LLL():
...
LLL = XXX(5)(LLL)
so the new LLL is the same as
def S(*args,**kwds):
for i in xrange(5):
print 20+LLL(*args, **kwds), ","
return S

【在 b*******t 的大作中提到】
: 新手问个问题。下面的PYTHON程序
: 在decorator里面是怎么绑定的? 这个程序里
: n <---5
: func <---LLL
: args,kwds <--- a,b (or 1,1)
: 是什么样的规则?
: ========================
: > cat a.py
: def XXX(n):
: def Wrapper (func):

b*******t
发帖数: 34
3
thanks
Wrapper的作用是什么?
def Wrapper (func):
或者说, 为什么需要定义Wrapper?
另外一个问题, XXX(5)打印了5次。 如果我想再把XXX包一次,比如YYY(3,5)调
用XXX(5)三次, 代码怎么写?

【在 m********2 的大作中提到】
: @XXX(5)
: def LLL():
: ...
: is the same as
: def LLL():
: ...
: LLL = XXX(5)(LLL)
: so the new LLL is the same as
: def S(*args,**kwds):
: for i in xrange(5):

m********2
发帖数: 89
4
In your code, you need "Wrapper" to bind the "func" var inside "S" to the
original "LLL".
def YYY(n):
def decor2(f):
def wrapper(*args, **kws):
for i in range(n):
f(*args, **kws)
return wrapper
return decor2
@YYY(3)
@XXX(5)
def LLL():
...

【在 b*******t 的大作中提到】
: thanks
: Wrapper的作用是什么?
: def Wrapper (func):
: 或者说, 为什么需要定义Wrapper?
: 另外一个问题, XXX(5)打印了5次。 如果我想再把XXX包一次,比如YYY(3,5)调
: 用XXX(5)三次, 代码怎么写?

1 (共1页)
进入Programming版参与讨论
相关主题
python pygtk 安装Static variables in function
golang虽然不会一统江湖,但是,干掉python ,ruby是迟早的事情python弱问题
为什么需要node.js waterfall,而不是直接call python script请教python
python 3.5现在是正式版本了?Python程序员请进
python decorator 调用问题Python里面的for i in range(len(enum))[::-1]:到底是什么意思?
cyphon,cpython,numba,julia,pypy,为什么都不是主流python 问题
golang的method是后来加的?python下的expect
[合集] First impression on Pythonpython一问
相关话题的讨论汇总
话题: lll话题: def话题: xxx话题: wrapper话题: kwds