Comments on: La différence entre __new__ et __init__ en Python http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/ Deux développeurs en vadrouille qui se sortent les doigts du code Wed, 05 Feb 2014 12:15:31 +0000 hourly 1 http://wordpress.org/?v=3.3.1 By: Sam http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5084 Sam Sat, 12 Jan 2013 09:05:47 +0000 http://sametmax.com/?p=3534#comment-5084 @Krypted: <a href="http://sametmax.com/sept-petites-libs-qui-changent-la-vie-dun-dev-python/" rel="nofollow">peewee</a> a un <a href="https://github.com/coleifer/peewee/blob/master/peewee.py" rel="nofollow">exemple</a> d'utilisation de __new__ en prod. Il faut le lire lentement par contre :-) @jpcw: Oui mais dans les docs on lit immutable partout, donc je garde volontairement le terme pour qu'un débutant puisse faire facilement le lien. Il faut faire des concessions. @Krypted: peewee a un exemple d’utilisation de __new__ en prod. Il faut le lire lentement par contre :-)

@jpcw: Oui mais dans les docs on lit immutable partout, donc je garde volontairement le terme pour qu’un débutant puisse faire facilement le lien. Il faut faire des concessions.

]]>
By: jpcw http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5082 jpcw Sat, 12 Jan 2013 07:39:42 +0000 http://sametmax.com/?p=3534#comment-5082 <code>s/immutable/immuable/g </code> ça sonne quand même beaucoup mieux, et ça n'entache plus la qualité de l'article. s/immutable/immuable/g
ça sonne quand même beaucoup mieux, et ça n’entache plus la qualité de l’article.

]]>
By: Etienne http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5076 Etienne Fri, 11 Jan 2013 22:00:51 +0000 http://sametmax.com/?p=3534#comment-5076 super les exemples super les exemples

]]>
By: stoof http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5072 stoof Fri, 11 Jan 2013 18:29:24 +0000 http://sametmax.com/?p=3534#comment-5072 Pourquoi faire compliqué quand on peux faire simple. Très bon post. Pourquoi faire compliqué quand on peux faire simple. Très bon post.

]]>
By: Sam http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5067 Sam Fri, 11 Jan 2013 15:51:12 +0000 http://sametmax.com/?p=3534#comment-5067 @Kontre: j'avais vu ça. Je pense qu'ils font ça pour des raisons de perf. @Amirouche: si j'ai pas le code, je peux pas debug :-) @Kontre: j’avais vu ça. Je pense qu’ils font ça pour des raisons de perf.

@Amirouche: si j’ai pas le code, je peux pas debug :-)

]]>
By: Krypted http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5066 Krypted Fri, 11 Jan 2013 15:42:45 +0000 http://sametmax.com/?p=3534#comment-5066 Très bon article! Merci. Si quelqu'un a des exemples de __new__ utilisé en production ce serait pas mal. Donc d'après ce que je comprends, on utilise __new__quand on veut utiliser des méthodes d'une classe immutable c'est ça ? Un petit article sur les immutables pourrait peut être intéresser d'autres personnes aussi :) (Ah et hors sujet total: http://www.linfo.re/Un-python-voyage-sur-l-aile-d-un-avion Héhé ça embouche un coin aux fans de PHP ça hein! C'est pas un éléphant qui ferait ça!) Très bon article! Merci.
Si quelqu’un a des exemples de __new__ utilisé en production ce serait pas mal.

Donc d’après ce que je comprends, on utilise __new__quand on veut utiliser des méthodes d’une classe immutable c’est ça ?

Un petit article sur les immutables pourrait peut être intéresser d’autres personnes aussi :)

(Ah et hors sujet total: http://www.linfo.re/Un-python-voyage-sur-l-aile-d-un-avion
Héhé ça embouche un coin aux fans de PHP ça hein! C’est pas un éléphant qui ferait ça!)

]]>
By: Kontre http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5064 Kontre Fri, 11 Jan 2013 15:25:56 +0000 http://sametmax.com/?p=3534#comment-5064 Un autre exemple, c'est numpy : un numpy.array utilise __new__, donc quand on veut créer une classe enfant, c'est plus délicat. Surtout que ça utilise encore une autre fonction derrière.Bref, c'est le bazar : http://docs.scipy.org/doc/numpy/user/basics.subclassing.html Un autre exemple, c’est numpy : un numpy.array utilise __new__, donc quand on veut créer une classe enfant, c’est plus délicat. Surtout que ça utilise encore une autre fonction derrière.Bref, c’est le bazar : http://docs.scipy.org/doc/numpy/user/basics.subclassing.html

]]>
By: Amirouche http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5063 Amirouche Fri, 11 Jan 2013 15:24:22 +0000 http://sametmax.com/?p=3534#comment-5063 Super, j'ai appris plein de truc, mes idées sont plus clairs. J'avais déjà vu un exemple de ChaineOrdonnable qui héritais de str et ça faisait que la comparaison était faites sur la deuxieme valeur passé en argument, par exemple ça donnait: <pre lang="python"> »»» ChaineOrdonnable('Sam', 1) > ChaineOrdonnable('Amirouche', 0) </pre> Chez moi quand je fait super(str, cls).__new__(cls, value) il me dit <pre lang="python"> TypeError: basestring.__new__(foo) is not safe, use str.__new__() </pre> Merci à toi. Super, j’ai appris plein de truc, mes idées sont plus clairs. J’avais déjà vu un exemple de ChaineOrdonnable qui héritais de str et ça faisait que la comparaison était faites sur la deuxieme valeur passé en argument, par exemple ça donnait:

»»» ChaineOrdonnable('Sam', 1) &gt; 
ChaineOrdonnable('Amirouche', 0)

Chez moi quand je fait super(str, cls).__new__(cls, value) il me dit

TypeError: basestring.__new__(foo) is not safe, use str.__new__()

Merci à toi.

]]>
By: Sam http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5057 Sam Fri, 11 Jan 2013 12:47:13 +0000 http://sametmax.com/?p=3534#comment-5057 J'ai mis quelques exemples en plus du coup. Dis moi si ça mérite des ajouts. J’ai mis quelques exemples en plus du coup. Dis moi si ça mérite des ajouts.

]]>
By: amirouche http://sametmax.com/la-difference-entre-__new__-et-__init__-en-python/#comment-5056 amirouche Fri, 11 Jan 2013 12:35:36 +0000 http://sametmax.com/?p=3534#comment-5056 je savais pas comment tourner mon commentaire désolé pour les chichi je savais pas comment tourner mon commentaire désolé pour les chichi

]]>