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
yves
Le Sun, 01 Sep 2019 21:29:18 +0200, Fabrice a écrit: Bonjour,
je suis toujours dans la console. Existe-t-il le moyen d'afficher la définition de la fonction f ?
Pas vraiment possible d'après cette discussion: https://stackoverflow.com/questions/2193231/display-function-definition- in-interactive-shell sauf ce hack sous linux: import readline readline.write_history_file('/tmp/hist.txt') et lire hist.txt Ceci dit, si tu penses vraiment avoir besoin de faire ça (si ce n'est pas juste une question théorique), ça signifie, à mon avis et sauf démonstration du contraire, que ta façon de travailler n'est pas optimale. @+ -- Yves
Le Sun, 01 Sep 2019 21:29:18 +0200, Fabrice a écrit:
Bonjour,
je suis toujours dans la console.
Existe-t-il le moyen d'afficher la définition de la fonction f ?
Ceci dit, si tu penses vraiment avoir besoin de faire ça (si ce n'est pas
juste une question théorique), ça signifie, à mon avis et sauf
démonstration du contraire, que ta façon de travailler n'est pas optimale.
Le Sun, 01 Sep 2019 21:29:18 +0200, Fabrice a écrit: Bonjour,
je suis toujours dans la console. Existe-t-il le moyen d'afficher la définition de la fonction f ?
Pas vraiment possible d'après cette discussion: https://stackoverflow.com/questions/2193231/display-function-definition- in-interactive-shell sauf ce hack sous linux: import readline readline.write_history_file('/tmp/hist.txt') et lire hist.txt Ceci dit, si tu penses vraiment avoir besoin de faire ça (si ce n'est pas juste une question théorique), ça signifie, à mon avis et sauf démonstration du contraire, que ta façon de travailler n'est pas optimale. @+ -- Yves
Fabrice
Le 02/09/2019 à 10:38, yves a écrit :
ta façon de travailler n'est pas optimale.
Je ne cherche pas à travailler mais à enseigner ;-) et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment. Cordialement, Fabrice. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Le 02/09/2019 à 10:38, yves a écrit :
ta façon de travailler n'est pas optimale.
Je ne cherche pas à travailler mais à enseigner ;-)
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une
fonction alors que c'en est une autre... surtout avec jupyter qui permet
de réexécuter les cadres de code passés.
Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un
"programme" qui semblent bon mais qui ne marche pas car l'erreur est
dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient.
Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction"
en me montrant le cadre de code qu'ils ont changé mais pas exécuté,
j'aimerai leur montrer ce que Python connait vraiment.
Cordialement,
Fabrice.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Je ne cherche pas à travailler mais à enseigner ;-) et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment. Cordialement, Fabrice. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Becaree
La réponse la plus simple que je pourrais vous donner est https://grou ps.google.com/forum/#!topic/fr.comp.lang.python/GPrPTowK6C0. Donc pas de gl obals beaucoup moins de soucis et sinon le code doit etre écrit quelqu e part, il y a des moyen d'accéder aux noms du module auxquel appartie nt une fonction avec: import sys getattr(sys.modules[__name__], 'f') Cependant vous ne verrez la fonction qui est disponible dans les globaux se ulement C'est à dire si vous avez appeler une variable math, le module pass à l'oubliette. Quand au fait python est interprété, oui, et cela veut dire qu'a un moment dans l'interpreteur y'a eu des méthodes avec exec, eval et compile dont on pourrait très bien "affiché le corps" mais vous allez pas faire coder vos élèves ainsi
La réponse la plus simple que je pourrais vous donner est https://grou ps.google.com/forum/#!topic/fr.comp.lang.python/GPrPTowK6C0. Donc pas de gl obals beaucoup moins de soucis et sinon le code doit etre écrit quelqu e part, il y a des moyen d'accéder aux noms du module auxquel appartie nt une fonction avec:
import sys
getattr(sys.modules[__name__], 'f')
Cependant vous ne verrez la fonction qui est disponible dans les globaux se ulement
C'est à dire si vous avez appeler une variable math, le module pass à l'oubliette. Quand au fait python est interprété, oui, et cela veut dire qu'a un moment dans l'interpreteur y'a eu des méthodes avec exec, eval et compile dont on pourrait très bien "affiché le corps" mais vous allez pas faire coder vos élèves ainsi
La réponse la plus simple que je pourrais vous donner est https://grou ps.google.com/forum/#!topic/fr.comp.lang.python/GPrPTowK6C0. Donc pas de gl obals beaucoup moins de soucis et sinon le code doit etre écrit quelqu e part, il y a des moyen d'accéder aux noms du module auxquel appartie nt une fonction avec: import sys getattr(sys.modules[__name__], 'f') Cependant vous ne verrez la fonction qui est disponible dans les globaux se ulement C'est à dire si vous avez appeler une variable math, le module pass à l'oubliette. Quand au fait python est interprété, oui, et cela veut dire qu'a un moment dans l'interpreteur y'a eu des méthodes avec exec, eval et compile dont on pourrait très bien "affiché le corps" mais vous allez pas faire coder vos élèves ainsi
Benoit Izac
Bonjour, Le 03/09/2019 à 09:01, Fabrice a écrit dans le message <5d6e0fbd$0$3528$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
Le problème c'est que, bien que Python soit interprété, il exécute du bytecode. Donc le seul moyen est de désassembler le bytecode mais c'est plus compliqué à lire car tu obtiens un genre d'assembleur. Sur ta fonction « f » :
Le 03/09/2019 à 09:01, Fabrice a écrit dans le message
<5d6e0fbd$0$3528$426a74cc@news.free.fr> :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une
fonction alors que c'en est une autre... surtout avec jupyter qui
permet de réexécuter les cadres de code passés.
Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un
"programme" qui semblent bon mais qui ne marche pas car l'erreur est
dans une fonction qu'ils appellent et qui n'est pas celle qu'ils
croient.
Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma
fonction" en me montrant le cadre de code qu'ils ont changé mais pas
exécuté, j'aimerai leur montrer ce que Python connait vraiment.
Le problème c'est que, bien que Python soit interprété, il exécute du
bytecode. Donc le seul moyen est de désassembler le bytecode mais c'est
plus compliqué à lire car tu obtiens un genre d'assembleur. Sur ta
fonction « f » :
Bonjour, Le 03/09/2019 à 09:01, Fabrice a écrit dans le message <5d6e0fbd$0$3528$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
Le problème c'est que, bien que Python soit interprété, il exécute du bytecode. Donc le seul moyen est de désassembler le bytecode mais c'est plus compliqué à lire car tu obtiens un genre d'assembleur. Sur ta fonction « f » :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;) Nicolas
Bonjour,
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une
fonction alors que c'en est une autre... surtout avec jupyter qui permet
de réexécuter les cadres de code passés.
Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un
"programme" qui semblent bon mais qui ne marche pas car l'erreur est
dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient.
Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction"
en me montrant le cadre de code qu'ils ont changé mais pas exécuté,
j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse
(https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533),
il semblerait que les lignes suivantes fonctionnent dans jupyter :
import inspect
print(inspect.getsource(fonction))
A vérifier...
Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;) Nicolas
Benoit Izac
Bonjour, Le 06/09/2019 à 08:43, Nicolas a écrit dans le message <5d71fffd$0$15180$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite : | If the function is from a source file available on the filesystem, | [...] | But I believe that if the function is compiled from a string, stream | or imported from a compiled file, then you cannot retrieve its source | code. Lorsque le code est tapé dans la console, le fichier source n'est pas disponible donc ça ne fonctionne pas. Ça ne marche que ce que tu vas trouver dans /usr/lib/pythonX.X/. -- Benoit Izac
Bonjour,
Le 06/09/2019 à 08:43, Nicolas a écrit dans le message
<5d71fffd$0$15180$426a74cc@news.free.fr> :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser
une fonction alors que c'en est une autre... surtout avec jupyter
qui permet de réexécuter les cadres de code passés.
Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un
"programme" qui semblent bon mais qui ne marche pas car l'erreur est
dans une fonction qu'ils appellent et qui n'est pas celle qu'ils
croient.
Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma
fonction" en me montrant le cadre de code qu'ils ont changé mais pas
exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse
(https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533),
il semblerait que les lignes suivantes fonctionnent dans jupyter :
import inspect
print(inspect.getsource(fonction))
A vérifier...
Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
| If the function is from a source file available on the filesystem,
| [...]
| But I believe that if the function is compiled from a string, stream
| or imported from a compiled file, then you cannot retrieve its source
| code.
Lorsque le code est tapé dans la console, le fichier source n'est pas
disponible donc ça ne fonctionne pas. Ça ne marche que ce que tu vas
trouver dans /usr/lib/pythonX.X/.
Bonjour, Le 06/09/2019 à 08:43, Nicolas a écrit dans le message <5d71fffd$0$15180$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite : | If the function is from a source file available on the filesystem, | [...] | But I believe that if the function is compiled from a string, stream | or imported from a compiled file, then you cannot retrieve its source | code. Lorsque le code est tapé dans la console, le fichier source n'est pas disponible donc ça ne fonctionne pas. Ça ne marche que ce que tu vas trouver dans /usr/lib/pythonX.X/. -- Benoit Izac
Fabrice
Bonjour, j'utilise Anaconda à la maison et dans la console de spyder, la méthode proposé par Nicolas fonctionne très bien. Elle fonctionne aussi dans Jupyter. Merci Nicolas. cordialement, Fabrice. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Bonjour,
j'utilise Anaconda à la maison et dans la console de spyder, la méthode
proposé par Nicolas fonctionne très bien.
Elle fonctionne aussi dans Jupyter.
Merci Nicolas.
cordialement,
Fabrice.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Bonjour, j'utilise Anaconda à la maison et dans la console de spyder, la méthode proposé par Nicolas fonctionne très bien. Elle fonctionne aussi dans Jupyter. Merci Nicolas. cordialement, Fabrice. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Nicolas
Le 06/09/2019 à 19:25, Benoit Izac a écrit :
Bonjour, Le 06/09/2019 à 08:43, Nicolas a écrit dans le message <5d71fffd$0$15180$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
Non non, je n'ai pas lu trop vite : "to my surprise, it works in Ipython/Jupyter notebooks also – Dr. Goulu Jan 22 '16 at 11:51" ;)
Le 06/09/2019 à 19:25, Benoit Izac a écrit :
Bonjour,
Le 06/09/2019 à 08:43, Nicolas a écrit dans le message
<5d71fffd$0$15180$426a74cc@news.free.fr> :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser
une fonction alors que c'en est une autre... surtout avec jupyter
qui permet de réexécuter les cadres de code passés.
Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un
"programme" qui semblent bon mais qui ne marche pas car l'erreur est
dans une fonction qu'ils appellent et qui n'est pas celle qu'ils
croient.
Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma
fonction" en me montrant le cadre de code qu'ils ont changé mais pas
exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse
(https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533),
il semblerait que les lignes suivantes fonctionnent dans jupyter :
import inspect
print(inspect.getsource(fonction))
A vérifier...
Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
Non non, je n'ai pas lu trop vite :
"to my surprise, it works in Ipython/Jupyter notebooks also – Dr. Goulu
Jan 22 '16 at 11:51"
Bonjour, Le 06/09/2019 à 08:43, Nicolas a écrit dans le message <5d71fffd$0$15180$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
Non non, je n'ai pas lu trop vite : "to my surprise, it works in Ipython/Jupyter notebooks also – Dr. Goulu Jan 22 '16 at 11:51" ;)
Nicolas
Le 07/09/2019 à 18:56, Fabrice a écrit :
Bonjour, j'utilise Anaconda à la maison et dans la console de spyder, la méthode proposé par Nicolas fonctionne très bien. Elle fonctionne aussi dans Jupyter. Merci Nicolas.
De rien :)
cordialement, Fabrice. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Le 07/09/2019 à 18:56, Fabrice a écrit :
Bonjour,
j'utilise Anaconda à la maison et dans la console de spyder, la méthode
proposé par Nicolas fonctionne très bien.
Elle fonctionne aussi dans Jupyter.
Merci Nicolas.
De rien :)
cordialement,
Fabrice.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
Bonjour, j'utilise Anaconda à la maison et dans la console de spyder, la méthode proposé par Nicolas fonctionne très bien. Elle fonctionne aussi dans Jupyter. Merci Nicolas.
De rien :)
cordialement, Fabrice. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Benoit Izac
Bonjour, Le 09/09/2019 à 08:32, Nicolas a écrit dans le message <5d75f1f4$0$6460$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
Non non, je n'ai pas lu trop vite : "to my surprise, it works in Ipython/Jupyter notebooks also – Dr. Goulu Jan 22 '16 at 11:51"
C'est plutôt moi qui n'ai pas tout lu. ;-) Et c'est parce qu'il garde une trace du code source (dans ~/.ipython/profile_default/history.sqlite chez moi). D'un autre coté, il suffit d'utiliser la flèche du haut pour voir ce qui a été exécuté en dernier. -- Benoit Izac
Bonjour,
Le 09/09/2019 à 08:32, Nicolas a écrit dans le message
<5d75f1f4$0$6460$426a74cc@news.free.fr> :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser
une fonction alors que c'en est une autre... surtout avec jupyter
qui permet de réexécuter les cadres de code passés.
Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un
"programme" qui semblent bon mais qui ne marche pas car l'erreur est
dans une fonction qu'ils appellent et qui n'est pas celle qu'ils
croient.
Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma
fonction" en me montrant le cadre de code qu'ils ont changé mais pas
exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse
(https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533),
il semblerait que les lignes suivantes fonctionnent dans jupyter :
import inspect
print(inspect.getsource(fonction))
A vérifier...
Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
Non non, je n'ai pas lu trop vite :
"to my surprise, it works in Ipython/Jupyter notebooks also – Dr.
Goulu Jan 22 '16 at 11:51"
C'est plutôt moi qui n'ai pas tout lu. ;-)
Et c'est parce qu'il garde une trace du code source (dans
~/.ipython/profile_default/history.sqlite chez moi). D'un autre coté, il
suffit d'utiliser la flèche du haut pour voir ce qui a été exécuté en
dernier.
Bonjour, Le 09/09/2019 à 08:32, Nicolas a écrit dans le message <5d75f1f4$0$6460$ :
et parfois, mes élèves s'emmêlent les pinceaux et croient utiliser une fonction alors que c'en est une autre... surtout avec jupyter qui permet de réexécuter les cadres de code passés. Du coup, lorsqu'ils m'appellent au secours, ils ont parfois un "programme" qui semblent bon mais qui ne marche pas car l'erreur est dans une fonction qu'ils appellent et qui n'est pas celle qu'ils croient. Et quand ils me disent : "Mais si m'sieur, j'ai bien écrit ma fonction" en me montrant le cadre de code qu'ils ont changé mais pas exécuté, j'aimerai leur montrer ce que Python connait vraiment.
D'après cette réponse (https://stackoverflow.com/questions/427453/how-can-i-get-the-source-code-of-a-python-function/427533#427533), il semblerait que les lignes suivantes fonctionnent dans jupyter : import inspect print(inspect.getsource(fonction)) A vérifier... Je n'utilise pas jupyter, donc, je ne peux pas vérifier ;)
Ce n'est pas spécifique à Jupyter et tu as lu un peu vite :
Non non, je n'ai pas lu trop vite : "to my surprise, it works in Ipython/Jupyter notebooks also – Dr. Goulu Jan 22 '16 at 11:51"
C'est plutôt moi qui n'ai pas tout lu. ;-) Et c'est parce qu'il garde une trace du code source (dans ~/.ipython/profile_default/history.sqlite chez moi). D'un autre coté, il suffit d'utiliser la flèche du haut pour voir ce qui a été exécuté en dernier. -- Benoit Izac