Si tu es en Python 2, tu peux t'en sortir simplement en ne dérivant pas ta classe de object (j'ai testé, ça marche).
Sinon, j'ai aussi trouvé une recette pour python 3. Cette recette fonctionne un peu différemment parce qu'elle crée des proxy sur des objets instanciés, et pas sur des classes. En reprenant l'exemple, comme ça, chémoisamarche :
Mais ai-je un moyen de savoir si les méthodes magiques sont implémentées ?
oui, la fonction dir liste tous les attributs de ce qu'on lui passe en paramètres.
C'est une des raisons pour lesquelles je n'aime pas Python ( et Java également) : il complique les choses qui se font de façon simple et évidentes dans d'autres langages.
et vice et versa !
J'avais dit à une époque que je trouvais que Python était un langage qui force à se répéter, et voici un exemple typique de ce que je voulais dire.
ça ne correspond pas à mon expérience. C'est vrai qu'en étant confronté à des nouveaux problèmes, il m'a parfois fallu un peu de temps pour trouver comment faire, mais j'ai toujours réussi à atteindre un truc que je trouvais propre en Python.
Entendons-nous bien : je ne veux pas "cracher" sur Python. J'avais juste promis il y a quelques temps que je donnerais des raisons concrètes pour lesquelles je trouvais que Python force à se répéter, et en voilà un concret.
raison suivante stp (ou un autre exemple de répétition) :-)
[^] # Re: quelques remarques
Posté par gaaaaaAab . En réponse au message Je cherche à créer une expèce de proxy. Évalué à 4.
En farfouillant sur le net, j'ai trouvé des infos supplémentaires.
cf le premier message de http://www.gossamer-threads.com/lists/python/dev/651981
Si tu es en Python 2, tu peux t'en sortir simplement en ne dérivant pas ta classe de
object(j'ai testé, ça marche).Sinon, j'ai aussi trouvé une recette pour python 3. Cette recette fonctionne un peu différemment parce qu'elle crée des proxy sur des objets instanciés, et pas sur des classes. En reprenant l'exemple, comme ça, chémoisamarche :
oui, la fonction
dirliste tous les attributs de ce qu'on lui passe en paramètres.et vice et versa !
ça ne correspond pas à mon expérience. C'est vrai qu'en étant confronté à des nouveaux problèmes, il m'a parfois fallu un peu de temps pour trouver comment faire, mais j'ai toujours réussi à atteindre un truc que je trouvais propre en Python.
raison suivante stp (ou un autre exemple de répétition) :-)