gratifiant > comp.lang.* > comp.lang.python

Fabrice (13/07/2019, 01h03)
Bonjour,

par exemple, pour importer les fonctions mathématiques, je fais :
import math
et je peux utiliser math.sqrt()
Si je veux économiser la référence à math je fais :
from math import *
puis je peux utiliser sqrt() directement.

J'aimerai faire la même chose avec
from matplotlib import pyplot
comme faire pour taper directement plot() sans avoir à taper pyplot.plot() ?

Merci,
Fabrice.
Francois Lafont (13/07/2019, 01h51)
Bonjour,

On 7/13/19 1:03 AM, Fabrice wrote:

> J'aimerai faire la même chose avec
> from matplotlib import pyplot
> comme faire pour taper directement plot() sans avoir à taper pyplot.plot() ?


Tester sous Python 3.6.8 (dans Ubuntu 18.04) :

from matplotlib.pyplot import *
Fabrice (13/07/2019, 14h42)
Bonjour François,

réponse simple et fonctionnelle.

Merci,
Fabrice.
Becaree (14/07/2019, 15h10)
Si c'est pour les élèves, les apprendre à coder en rajoutantplein de globaux, c'est vraiment pas top. Je m'explique: imaginons que j'ai une fonction clf() dans math de python et une fonction clf() dans pyplot.Les deux vont rentrer en conflit. De plus, a moins d'une très bonne connaissance des librairies, il peut arriver des conflits si je veux nommer une variable clf et l'utiliser. Il y a des cas spécifiques d'utilisation du import star même si c'est globalement (ahah) une mauvaise pratique. Certaine librairies utilise des __all__ dans les __init__.py permettantde limiter les globaux à l'import. Nota Bene, ce n'est pas le cas de fastai ;-)
Becaree (14/07/2019, 15h23)
La pratique courant pour est import matplotlib.pyplot as plt
puis plt.plot()
Fabrice (14/07/2019, 23h10)
Le 14/07/2019 à 15:10, Becaree a écrit :
> Si c'est pour les élèves, les apprendre à coder en rajoutant plein de globaux, c'est vraiment pas top.


L'objectif pour mes élèves n'est pas d'apprendre à coder.
L'objectif est de comprendre la construction et de faire exécuter
quelques algorithmes très simples par une machine.

Il y a tellement d'autres pythoneries dont il faut parler et qui sont
illogiques
Par exemple, dans le même ordre d'idée que l'import :
Pourquoi avec les listes, on fait len(L) et L.pop(i) ?
Pourquoi pas L.len() ? ou pop(L,i) ?

Pourquoi L.copy() fonctionne mais pas copy(L) sans importer copy ?

Il y a déjà beaucoup d'incohérence dans Python qui semble plutôt être un
genre de BASIC où tout est permis pour mal coder.

Moi, je suis plutôt C++ mais pourquoi pas Python pour initier nos élèves
à la programmation ? Je n'ai rien contre, il a aussi pas mal d'avantages
dont celui du mode console et des nombreuses bibliothèques.

Mon objectif est plutôt d'apprendre à mes élèves à bien programmer un
*tant que* pour qu'on en sorte un jour et que leur programme résolve
bien le problème posé.

Après, si cela plaît à certains, ils apprendront à mieux coder plus
tard. Nous avons tous appris à écrire, nous ne sommes pas tous devenus
écrivain.

cordialement,
Fabrice.
Becaree (15/07/2019, 20h40)
Nota Bene, on apprend aux élèves à éviter les fautes d'orthograhe tout de même. Néanmoins je vais pas rentrer dans ce débat, je suis pas la pour être austère. Vous avez souligner le fait que certaines méthodes en python sont appeler avant, certainesaprès. En python tout est objet, les méthodes, les variables (dérivés de types dont object est dérivé), le typage dynamique des variables ne change pas ce fait ainsi que les objets. Il y a danspython des méthodes qui sont dérivés du C puisque CPython est écrit majoritairement en C. C'est les méthodes magic de pythonqui permettent d'hériter les objets selon les méthodes implémenter. le cas de la fonction __iter__ si présent dans un objet permet de créer un itérateur permettant d'utiliser des for i in mon_objet_avec_méthode_iter. Cela dit si cela vous perturbe vraiment vous pouvez taper L.__len__() et vous verrez que cela marche tout aussi bien (pas conseillé). Pour apprendre la programmation je suis d'accord avec vous que le C (déja) serait mieux mais je pense que cela perdrait beaucoup d'élèves par la même occasion, du moins au lycée. Après j'ai appris la programmation avec python et je m'en sors bien, unesyntaxe simple et claire est très bien aussi pour aborder les concepts de programmation (même poussés). Le python c'est tout de même assez simple, jusqu'a passer à l'objet en fait. Un super lien: la ou ca devient un peu plus poussé et pour pousser un peu mes explications.
Cordialement =)
Becaree (15/07/2019, 20h44)
Nota Bene, on apprend aux élèves à éviter les fautes d'orthograhe tout de même.
Néanmoins je vais pas rentrer dans ce débat, je suis pas la pour être austère.

Vous avez souligner le fait que certaines méthodes en python sont appeler avant, certaines après. En python tout est objet, les méthodes, les variables (dérivés de types dont object est dérivé), le typage dynamique des variables ne change pas ce fait ainsi que les objets.
Il y a dans python des méthodes qui sont dérivés du C puisque CPython est écrit majoritairement en C. C'est les méthodes magic de python qui permettent d'hériter les objets selon les méthodes implémenter. le cas de la fonction __iter__ si présent dansun objet permet de créer un itérateur permettant d'utiliser des for i in mon_objet_avec_méthode_iter. Cela dit si cela vous perturbe vraiment vous pouvez taper L.__len__() et vous verrez que cela marche tout aussi bien (pas conseillé).

Pour apprendre la programmation je suis d'accord avec vous que le C (déja) serait mieux mais je pense que cela perdrait beaucoup d'élèves par la même occasion, du moins au lycée. Après j'ai appris la programmation avec python et je m'en sors bien, une syntaxe simple et claire est très bien aussi pour aborder les concepts de programmation (même poussés).

Le python c'est tout de même assez simple, jusqu'a passer à l'objet en fait. Un super lien: la ou ca devient un peu plus poussé et pour pousser un peu mes explications.
Cordialement =)

ps: je sais pas éditer ici donc j'ai fait des paragraphes, c'est quandmême bien plus digestes
Discussions similaires