def run(k,uv):
u=uv[0]
v=uv[1]
st=["u["+str(x)+"]" for x in xrange(len(u))]
st2=[ str(sk)+"="+repr(sv) for sk,sv in v.iteritems() ]
s=",".join(st+st2)
sf="lambda(z): k("+s+")"
dic1=globals().copy()
dic1.update({'k':k ,'u':u,'v':v})
f=eval(sf,dic1,None)
return f('&')
def wait(k,*a,**b):
yield run(k,[a,b])
###############################
#Gen ne sert pas. Ce fut une fonction ou j'ai cherché des solutions a
diverse pbm
def gen(k):
a=k.func_code.co_argcount
if k.func_code.co_flags & 0x04 :
b=a+1
else :
b=a
if k.func_code.co_flags & 0x08 :
c=b+1
else :
c=b
print "nb argument : "+str(a)
print "nom des argument : "+str(k.func_code.co_varnames[0:a])
####################################"
class continuation(object):
"""
Une instance de continuation est crée par l'appel a la fonction décorer
par @lazy
l'objet attend une quelconque utilisation pour s'évaluer et renvoyer la
réponse adéquate.
"""
st=["_oo_","_calc_","_resu_"]
def __init__(self,o):
#self._oo_=o
object.__setattr__(self,'_oo_',o)
#self._calc_=False
object.__setattr__(self,'_calc_',False)
#self._resu_=None
object.__setattr__(self,'_resu_',None)
def _calcule(self) :
if not self._calc_ :
iprint("Calcule de la valeur")
a=self._oo_.next()
#self._resu_=a
object.__setattr__(self,'_resu_',a)
#self._calc_=True
object.__setattr__(self,'_calc_',True)
iprint( "fin calcule valeur")
if sys.version_info < (2, 0):
# They won't be defined if version is at least 2.0 final
def __getslice__(self, i, j):
iprint ("getslice")
self._calcule()
return self._resu_.__getslice__(i,j)
def __setslice__(self, i, j, seq):
iprint ("setslice")
self._calcule()
self._resu_.__setslice__(i,j,seq)
def __delslice__(self, i, j):
iprint ("delslice")
self._calcule()
self._resu_.__delslice__(i,j,seq)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DAIREAUX Jean-Baptiste
...
Je ne récupere pas l'argument qui doit étre passé à self.
Quelq'un aurai une solution ?
J.B.D.
...
J'ai la solution à mon pbm :
lors de la déclaration d'une classe ( class c(truc): ) les méthodes sont d'abord évaluées en tant que fonction puis transformées en méthodes lors de la fin de la déclaration de la classe.
exemple : class t : def fn (self) : pass #ici fn est une fonction non pas une méthode appartenant à la classe
#ici fn est devenue une méthode de la classe
le probleme que j'avais était que le système qui transforme une fonction en méthode ne sait pas gérer les 'call object'
Donc si on doit décorer une méthode il faut obligatoirement que le décorateur renvoie une fonction et non un objet appelable.
J.B.D.
...
Je ne récupere pas l'argument qui doit étre passé à self.
Quelq'un aurai une solution ?
J.B.D.
...
J'ai la solution à mon pbm :
lors de la déclaration d'une classe ( class c(truc): ) les méthodes sont
d'abord évaluées en tant que fonction puis transformées en méthodes lors de
la fin de la déclaration de la classe.
exemple :
class t :
def fn (self) :
pass
#ici fn est une fonction non pas une méthode appartenant à la classe
#ici fn est devenue une méthode de la classe
le probleme que j'avais était que le système qui transforme une fonction en
méthode ne sait pas gérer les 'call object'
Donc si on doit décorer une méthode il faut obligatoirement que le
décorateur renvoie une fonction et non un objet appelable.
Je ne récupere pas l'argument qui doit étre passé à self.
Quelq'un aurai une solution ?
J.B.D.
...
J'ai la solution à mon pbm :
lors de la déclaration d'une classe ( class c(truc): ) les méthodes sont d'abord évaluées en tant que fonction puis transformées en méthodes lors de la fin de la déclaration de la classe.
exemple : class t : def fn (self) : pass #ici fn est une fonction non pas une méthode appartenant à la classe
#ici fn est devenue une méthode de la classe
le probleme que j'avais était que le système qui transforme une fonction en méthode ne sait pas gérer les 'call object'
Donc si on doit décorer une méthode il faut obligatoirement que le décorateur renvoie une fonction et non un objet appelable.