def __str__(self, with_v2=False):
s = "V1: %d" % (self.v1)
if with_v2:
s += "(V2: %d)" % (self.v2)
s += '\n'
return s
si je fais
e = Ex(1,2)
str (e) me retournera 'V1: 1\n'
print e m'affichera V1: 1
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en
compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors
d'un appel a print ???
Eric
PS j'ai deja un wrapper autour de ceci via une methode de x.
--
Selon les logs, il y a des pertes de porteuses, mais surtout des
requêtes de déconnexion qui viennent de votre machine.
Il faut se rappeler que windows 95 est un systeme bio-dégradable.
-+- Support technique HOL in: Guide du Cabaliste Usenet - CQFD ! -+-
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
andre.roberge
Eric Deveaud wrote:
Bonjour.
une question bete concernant la methode __str__ a laquelle je voudrais po uvoir passer des arguments
soit:
class Ex: def __init__(self, v1, v2): self.v1 self.v2 def __str__(self, with_v2úlse): s if with_v2: s + s + return s
si je fais e str (e) me retournera 'V1: 1n' print e m'affichera V1: 1
je peux faire e.__str__(with_v2=True) me retournera la chaine en prenn ant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
Si je ne m'abuse, print utilise __repr__(). André
Eric
PS j'ai deja un wrapper autour de ceci via une methode de x.
-- Selon les logs, il y a des pertes de porteuses, mais surtout des requêtes de déconnexion qui viennent de votre machine. Il faut se rappeler que windows 95 est un systeme bio-dégradable. -+- Support technique HOL in: Guide du Cabaliste Usenet - CQFD ! -+-
Eric Deveaud wrote:
Bonjour.
une question bete concernant la methode __str__ a laquelle je voudrais po uvoir
passer des arguments
soit:
class Ex:
def __init__(self, v1, v2):
self.v1 self.v2
def __str__(self, with_v2úlse):
s if with_v2:
s + s + return s
si je fais
e str (e) me retournera 'V1: 1n'
print e m'affichera V1: 1
je peux faire e.__str__(with_v2=True) me retournera la chaine en prenn ant en
compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors
d'un appel a print ???
Si je ne m'abuse, print utilise __repr__().
André
Eric
PS j'ai deja un wrapper autour de ceci via une methode de x.
--
Selon les logs, il y a des pertes de porteuses, mais surtout des
requêtes de déconnexion qui viennent de votre machine.
Il faut se rappeler que windows 95 est un systeme bio-dégradable.
-+- Support technique HOL in: Guide du Cabaliste Usenet - CQFD ! -+-
une question bete concernant la methode __str__ a laquelle je voudrais po uvoir passer des arguments
soit:
class Ex: def __init__(self, v1, v2): self.v1 self.v2 def __str__(self, with_v2úlse): s if with_v2: s + s + return s
si je fais e str (e) me retournera 'V1: 1n' print e m'affichera V1: 1
je peux faire e.__str__(with_v2=True) me retournera la chaine en prenn ant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
Si je ne m'abuse, print utilise __repr__(). André
Eric
PS j'ai deja un wrapper autour de ceci via une methode de x.
-- Selon les logs, il y a des pertes de porteuses, mais surtout des requêtes de déconnexion qui viennent de votre machine. Il faut se rappeler que windows 95 est un systeme bio-dégradable. -+- Support technique HOL in: Guide du Cabaliste Usenet - CQFD ! -+-
bruno at modulix
Eric Deveaud wrote:
Bonjour.
une question bete concernant la methode __str__ a laquelle je voudrais pouvoir passer des arguments
(snip)
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
print e.__str__(with_v2=True) ?-)
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Eric Deveaud wrote:
Bonjour.
une question bete concernant la methode __str__ a laquelle je voudrais pouvoir
passer des arguments
(snip)
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en
compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors
d'un appel a print ???
print e.__str__(with_v2=True) ?-)
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
une question bete concernant la methode __str__ a laquelle je voudrais pouvoir passer des arguments
(snip)
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
print e.__str__(with_v2=True) ?-)
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Hervé Cauwelier
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc c'est mort.
PS j'ai deja un wrapper autour de ceci via une methode de x.
Tu auras plus de chances à ce plus haut niveau, en plus de sûrement faciliter la lecture et la maintenance de ton code.
N.B. Tu me donnes l'impression de t'embêter pour pas grand chose.
-- Hervé Cauwelier http://www.oursours.net/
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en
compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors
d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc
c'est mort.
PS j'ai deja un wrapper autour de ceci via une methode de x.
Tu auras plus de chances à ce plus haut niveau, en plus de sûrement
faciliter la lecture et la maintenance de ton code.
N.B. Tu me donnes l'impression de t'embêter pour pas grand chose.
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc c'est mort.
PS j'ai deja un wrapper autour de ceci via une methode de x.
Tu auras plus de chances à ce plus haut niveau, en plus de sûrement faciliter la lecture et la maintenance de ton code.
N.B. Tu me donnes l'impression de t'embêter pour pas grand chose.
-- Hervé Cauwelier http://www.oursours.net/
Eric Deveaud
wrote:
Si je ne m'abuse, print utilise __repr__().
non print utilise __str__
__repr__ est utilisé pour produire une representation de l'objet telle que eval(objet.__repr__()) permette de regénérer l'objet
Eric
andre.roberge@gmail.com wrote:
Si je ne m'abuse, print utilise __repr__().
non print utilise __str__
__repr__ est utilisé pour produire une representation de l'objet telle que
eval(objet.__repr__()) permette de regénérer l'objet
__repr__ est utilisé pour produire une representation de l'objet telle que eval(objet.__repr__()) permette de regénérer l'objet
Eric
Laurent Pointal
comment faire pour, specifier ceci lors d'un appel a print ???
Pas possible.
AMA
1-soit tu fait une méthode "pour ça" (autre que __str__) 2-soit tu ajoutes un membre with_v2 à ta classe, tu le testes dans __str__, et tu le positionnes avant d'appeler print.
Perso, je préfère la solution 1, plus propre, plus simple à comprendre et à lire.
A+
Laurent.
comment faire pour, specifier ceci lors
d'un appel a print ???
Pas possible.
AMA
1-soit tu fait une méthode "pour ça" (autre que __str__)
2-soit tu ajoutes un membre with_v2 à ta classe, tu le testes dans
__str__, et tu le positionnes avant d'appeler print.
Perso, je préfère la solution 1, plus propre, plus simple à comprendre
et à lire.
comment faire pour, specifier ceci lors d'un appel a print ???
Pas possible.
AMA
1-soit tu fait une méthode "pour ça" (autre que __str__) 2-soit tu ajoutes un membre with_v2 à ta classe, tu le testes dans __str__, et tu le positionnes avant d'appeler print.
Perso, je préfère la solution 1, plus propre, plus simple à comprendre et à lire.
A+
Laurent.
Eric Deveaud
bruno at modulix wrote:
Eric Deveaud wrote:
Bonjour.
une question bete concernant la methode __str__ a laquelle je voudrais pouvoir passer des arguments
(snip)
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
print e.__str__(with_v2=True) ?-)
c'est ce que je voulais eviter ;-))
j'ai pris le cas de __str__, mais j'ai le même soucis pour pas mal de choses tout une branche de mon code doit/ou ne doit pas tenir compte des clef sha1 de mes objets. je suis en train de plancher sur 2 voies 1) serie de methodes wrappant le méthode spéciales pour prendre en compte les attributs a ignorer 2) une grosse pas belle variable glbale (ou de classe)
Eric
-- Linux, c'est simple : ça s'adresse à une machine qui est parfois un peu maraboutée mais qui d'habitude n'a pas d'états d'âme. Sur Usenet y'a plein d'humains et de primates, et ça devient vraiment gore par moment. -+- TP in : Guide du linuxien pervers - "Le linuxien a-t-il une âme ?" -+-
bruno at modulix wrote:
Eric Deveaud wrote:
Bonjour.
une question bete concernant la methode __str__ a laquelle je voudrais pouvoir
passer des arguments
(snip)
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en
compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors
d'un appel a print ???
print e.__str__(with_v2=True) ?-)
c'est ce que je voulais eviter ;-))
j'ai pris le cas de __str__, mais j'ai le même soucis pour pas mal de choses
tout une branche de mon code doit/ou ne doit pas tenir compte des clef sha1 de
mes objets.
je suis en train de plancher sur 2 voies
1) serie de methodes wrappant le méthode spéciales pour prendre en compte les
attributs a ignorer
2) une grosse pas belle variable glbale (ou de classe)
Eric
--
Linux, c'est simple : ça s'adresse à une machine qui est parfois un peu
maraboutée mais qui d'habitude n'a pas d'états d'âme. Sur Usenet y'a
plein d'humains et de primates, et ça devient vraiment gore par moment.
-+- TP in : Guide du linuxien pervers - "Le linuxien a-t-il une âme ?" -+-
une question bete concernant la methode __str__ a laquelle je voudrais pouvoir passer des arguments
(snip)
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
print e.__str__(with_v2=True) ?-)
c'est ce que je voulais eviter ;-))
j'ai pris le cas de __str__, mais j'ai le même soucis pour pas mal de choses tout une branche de mon code doit/ou ne doit pas tenir compte des clef sha1 de mes objets. je suis en train de plancher sur 2 voies 1) serie de methodes wrappant le méthode spéciales pour prendre en compte les attributs a ignorer 2) une grosse pas belle variable glbale (ou de classe)
Eric
-- Linux, c'est simple : ça s'adresse à une machine qui est parfois un peu maraboutée mais qui d'habitude n'a pas d'états d'âme. Sur Usenet y'a plein d'humains et de primates, et ça devient vraiment gore par moment. -+- TP in : Guide du linuxien pervers - "Le linuxien a-t-il une âme ?" -+-
Eric Deveaud
Hervé Cauwelier wrote:
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc c'est mort.
et pouratnt le code que j'ai fourni en exemple est fonctionnel et sans erreur de syntaxes
PS j'ai deja un wrapper autour de ceci via une methode de x.
Tu auras plus de chances à ce plus haut niveau, en plus de sûrement faciliter la lecture et la maintenance de ton code.
je ne suis pas contre, mais le soucis c'est que j'ai des objets qui contiennent entre autres attributs une clef sha1 un attribut marqueur de redondance. attributs que je veux pouvoir ignorer selon les cas lors de l'affichage et de la comparaison
N.B. Tu me donnes l'impression de t'embêter pour pas grand chose.
c'est bien possible ;-)
Eric qui va retourner à la definition de ses objets .....
Hervé Cauwelier wrote:
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant
en compte V2, mais est-il possible de, et comment faire pour, specifier
ceci lors d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc
c'est mort.
et pouratnt le code que j'ai fourni en exemple est fonctionnel et sans erreur
de syntaxes
PS j'ai deja un wrapper autour de ceci via une methode de x.
Tu auras plus de chances à ce plus haut niveau, en plus de sûrement
faciliter la lecture et la maintenance de ton code.
je ne suis pas contre, mais le soucis c'est que j'ai des objets qui contiennent
entre autres attributs
une clef sha1
un attribut marqueur de redondance.
attributs que je veux pouvoir ignorer selon les cas lors de l'affichage et de la
comparaison
N.B. Tu me donnes l'impression de t'embêter pour pas grand chose.
c'est bien possible ;-)
Eric qui va retourner à la definition de ses objets .....
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc c'est mort.
et pouratnt le code que j'ai fourni en exemple est fonctionnel et sans erreur de syntaxes
PS j'ai deja un wrapper autour de ceci via une methode de x.
Tu auras plus de chances à ce plus haut niveau, en plus de sûrement faciliter la lecture et la maintenance de ton code.
je ne suis pas contre, mais le soucis c'est que j'ai des objets qui contiennent entre autres attributs une clef sha1 un attribut marqueur de redondance. attributs que je veux pouvoir ignorer selon les cas lors de l'affichage et de la comparaison
N.B. Tu me donnes l'impression de t'embêter pour pas grand chose.
c'est bien possible ;-)
Eric qui va retourner à la definition de ses objets .....
Laurent Pointal
Hervé Cauwelier wrote:
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ??? "print" appelle "str", et "str" n'accepte qu'un seul argument. Donc
c'est mort.
et pouratnt le code que j'ai fourni en exemple est fonctionnel et sans erreur de syntaxes
Oui, parce que tu fournis une valeur par défaut à ton argument supplémentaire de __str__, donc print peut l'utiliser. Par contre il n'y a pas moyen de donner cet argument via l'appel à print.
Hervé Cauwelier wrote:
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant
en compte V2, mais est-il possible de, et comment faire pour, specifier
ceci lors d'un appel a print ???
"print" appelle "str", et "str" n'accepte qu'un seul argument. Donc
c'est mort.
et pouratnt le code que j'ai fourni en exemple est fonctionnel et sans erreur
de syntaxes
Oui, parce que tu fournis une valeur par défaut à ton argument
supplémentaire de __str__, donc print peut l'utiliser. Par contre il n'y
a pas moyen de donner cet argument via l'appel à print.
je peux faire e.__str__(with_v2=True) me retournera la chaine en prennant en compte V2, mais est-il possible de, et comment faire pour, specifier ceci lors d'un appel a print ??? "print" appelle "str", et "str" n'accepte qu'un seul argument. Donc
c'est mort.
et pouratnt le code que j'ai fourni en exemple est fonctionnel et sans erreur de syntaxes
Oui, parce que tu fournis une valeur par défaut à ton argument supplémentaire de __str__, donc print peut l'utiliser. Par contre il n'y a pas moyen de donner cet argument via l'appel à print.