Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner en
runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance, mais
je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner en
runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance, mais
je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner en
runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance, mais
je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
Réponse courte : non.
Réponse longue: "le nom de l'instance qui l'utilise" ne veut rien dire.
Les variables python sont des paires nom=>référenceSurUneInstance dans
un espace de nommage. Un même objet peut être référencé par plusieurs
nom, dans le même espace de nommage ou dans plusieurs espaces de
nommages différents
...
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
Réponse courte : non.
Réponse longue: "le nom de l'instance qui l'utilise" ne veut rien dire.
Les variables python sont des paires nom=>référenceSurUneInstance dans
un espace de nommage. Un même objet peut être référencé par plusieurs
nom, dans le même espace de nommage ou dans plusieurs espaces de
nommages différents
...
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
Réponse courte : non.
Réponse longue: "le nom de l'instance qui l'utilise" ne veut rien dire.
Les variables python sont des paires nom=>référenceSurUneInstance dans
un espace de nommage. Un même objet peut être référencé par plusieurs
nom, dans le même espace de nommage ou dans plusieurs espaces de
nommages différents
...
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
<snip>
Il y a une autre façon d'interpréter la question initiale:
class A:
pass
class B:
pass
a = A()
b = B()
b.x = a
<snip>
mc = MaClasse ()
a.maMéthode ()
mc a rencontré l'erreur trucmachin
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
<snip>
Il y a une autre façon d'interpréter la question initiale:
class A:
pass
class B:
pass
a = A()
b = B()
b.x = a
<snip>
mc = MaClasse ()
a.maMéthode ()
mc a rencontré l'erreur trucmachin
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
<snip>
Il y a une autre façon d'interpréter la question initiale:
class A:
pass
class B:
pass
a = A()
b = B()
b.x = a
<snip>
mc = MaClasse ()
a.maMéthode ()
mc a rencontré l'erreur trucmachin
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
<snip>
Il y a une autre façon d'interpréter la question initiale:
class A:
pass
class B:
pass
a = A()
b = B()
b.x = a
<snip>
Ma problématique est légèrement différente, je donne un exemple simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"mc = MaClasse ()
a.maMéthode ()
mc a rencontré l'erreur trucmachin
Je ne suis pas certain de trouver par quoi remplacer xxx,
PS: pour le debug en général, il me semble que le genre de print que je
souhaite réaliser est assez sympathique et plus lisible que des
representations d'objets sous forme de chaine de caracteres encadrée par
<>.
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
<snip>
Il y a une autre façon d'interpréter la question initiale:
class A:
pass
class B:
pass
a = A()
b = B()
b.x = a
<snip>
Ma problématique est légèrement différente, je donne un exemple simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"
mc = MaClasse ()
a.maMéthode ()
mc a rencontré l'erreur trucmachin
Je ne suis pas certain de trouver par quoi remplacer xxx,
PS: pour le debug en général, il me semble que le genre de print que je
souhaite réaliser est assez sympathique et plus lisible que des
representations d'objets sous forme de chaine de caracteres encadrée par
<>.
Bonsoir,
j'ai défini une classe dont l'une de ses méthodes aimerait retourner
en runtime le nom de l'instance qui l'utilise.
J'ai trouvé plein d'infos sur l'introspection depuis une instance,
mais je ne trouve rien pour faire l'opération en sens inverse.
Existe t'il une solution pour faire cette opération ?
<snip>
Il y a une autre façon d'interpréter la question initiale:
class A:
pass
class B:
pass
a = A()
b = B()
b.x = a
<snip>
Ma problématique est légèrement différente, je donne un exemple simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"mc = MaClasse ()
a.maMéthode ()
mc a rencontré l'erreur trucmachin
Je ne suis pas certain de trouver par quoi remplacer xxx,
PS: pour le debug en général, il me semble que le genre de print que je
souhaite réaliser est assez sympathique et plus lisible que des
representations d'objets sous forme de chaine de caracteres encadrée par
<>.
Ma problématique est légèrement différente, je donne un exemple
simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"mc = MaClasse ()
mc.maMéthode ()
mc a rencontré l'erreur trucmachin
Je vais encore passer pour un puriste maniaque extrémiste, mais la
sortie standard est destinée aux sorties normales du programme, pas aux
messages d'erreur (il y a stderr pour ça).
Et accessoirement, je ne
pense pas que ce genre de gestion d'erreur soit une bonne idée - logger
l'erreur n'est pas idiot en soi, mais outre que ce n'est pas forcément
la meilleure façon de faire, le minimum serait dans ce cas de relancer
l'erreur après l'avoir loggée.
Je ne suis pas certain de trouver par quoi remplacer xxx,
Si tu es l'auteur de MaClasse, personne ne t'empêche de redéfinir
__repr__ pour avoir quelque chose de plus parlant. En général, je fais
ça au moins pour toutes mes classes 'modèle' (dans l'acceptation MVC).
HTH
Ma problématique est légèrement différente, je donne un exemple
simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"
mc = MaClasse ()
mc.maMéthode ()
mc a rencontré l'erreur trucmachin
Je vais encore passer pour un puriste maniaque extrémiste, mais la
sortie standard est destinée aux sorties normales du programme, pas aux
messages d'erreur (il y a stderr pour ça).
Et accessoirement, je ne
pense pas que ce genre de gestion d'erreur soit une bonne idée - logger
l'erreur n'est pas idiot en soi, mais outre que ce n'est pas forcément
la meilleure façon de faire, le minimum serait dans ce cas de relancer
l'erreur après l'avoir loggée.
Je ne suis pas certain de trouver par quoi remplacer xxx,
Si tu es l'auteur de MaClasse, personne ne t'empêche de redéfinir
__repr__ pour avoir quelque chose de plus parlant. En général, je fais
ça au moins pour toutes mes classes 'modèle' (dans l'acceptation MVC).
HTH
Ma problématique est légèrement différente, je donne un exemple
simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"mc = MaClasse ()
mc.maMéthode ()
mc a rencontré l'erreur trucmachin
Je vais encore passer pour un puriste maniaque extrémiste, mais la
sortie standard est destinée aux sorties normales du programme, pas aux
messages d'erreur (il y a stderr pour ça).
Et accessoirement, je ne
pense pas que ce genre de gestion d'erreur soit une bonne idée - logger
l'erreur n'est pas idiot en soi, mais outre que ce n'est pas forcément
la meilleure façon de faire, le minimum serait dans ce cas de relancer
l'erreur après l'avoir loggée.
Je ne suis pas certain de trouver par quoi remplacer xxx,
Si tu es l'auteur de MaClasse, personne ne t'empêche de redéfinir
__repr__ pour avoir quelque chose de plus parlant. En général, je fais
ça au moins pour toutes mes classes 'modèle' (dans l'acceptation MVC).
HTH
<snip>
Ma problématique est légèrement différente, je donne un exemple
simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"mc = MaClasse ()
mc.maMéthode ()
mc a rencontré l'erreur trucmachin
Je vais encore passer pour un puriste maniaque extrémiste, mais la
sortie standard est destinée aux sorties normales du programme, pas
aux messages d'erreur (il y a stderr pour ça).
Oui, je n'ai gardé dans l'exemple que le minimum pour montrer que le but
est d'avoir au sein d'une méthode un moyen pour accéder au nom de
l'objet qui risque un jour d'instancier la classe et de faire appel à la
méthode.
Je ne suis pas certain de trouver par quoi remplacer xxx,
<snip>
Si tu es l'auteur de MaClasse, personne ne t'empêche de redéfinir
__repr__ pour avoir quelque chose de plus parlant. En général, je fais
Pourquoi pas, mais dans l'exemple proposé, je ne sais toujours pas
comment récupérer 'mc'.
<snip>
Ma problématique est légèrement différente, je donne un exemple
simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"
mc = MaClasse ()
mc.maMéthode ()
mc a rencontré l'erreur trucmachin
Je vais encore passer pour un puriste maniaque extrémiste, mais la
sortie standard est destinée aux sorties normales du programme, pas
aux messages d'erreur (il y a stderr pour ça).
Oui, je n'ai gardé dans l'exemple que le minimum pour montrer que le but
est d'avoir au sein d'une méthode un moyen pour accéder au nom de
l'objet qui risque un jour d'instancier la classe et de faire appel à la
méthode.
Je ne suis pas certain de trouver par quoi remplacer xxx,
<snip>
Si tu es l'auteur de MaClasse, personne ne t'empêche de redéfinir
__repr__ pour avoir quelque chose de plus parlant. En général, je fais
Pourquoi pas, mais dans l'exemple proposé, je ne sais toujours pas
comment récupérer 'mc'.
<snip>
Ma problématique est légèrement différente, je donne un exemple
simplifié:
class MaClasse:
def maMéthode (self):
try:
faisqqchose
except MonException:
print xxx, "a rencontré l'erreur trucmachin"mc = MaClasse ()
mc.maMéthode ()
mc a rencontré l'erreur trucmachin
Je vais encore passer pour un puriste maniaque extrémiste, mais la
sortie standard est destinée aux sorties normales du programme, pas
aux messages d'erreur (il y a stderr pour ça).
Oui, je n'ai gardé dans l'exemple que le minimum pour montrer que le but
est d'avoir au sein d'une méthode un moyen pour accéder au nom de
l'objet qui risque un jour d'instancier la classe et de faire appel à la
méthode.
Je ne suis pas certain de trouver par quoi remplacer xxx,
<snip>
Si tu es l'auteur de MaClasse, personne ne t'empêche de redéfinir
__repr__ pour avoir quelque chose de plus parlant. En général, je fais
Pourquoi pas, mais dans l'exemple proposé, je ne sais toujours pas
comment récupérer 'mc'.