Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

from matplotlib import pyplot as * ?

6 réponses
Avatar
Fabrice
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.

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

6 réponses

Avatar
Francois Lafont
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 *
--
François Lafont
Avatar
Fabrice
Bonjour François,
réponse simple et fonctionnelle.
Merci,
Fabrice.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Becaree
Si c'est pour les élèves, les apprendre à coder en rajoutant plein de globaux, c'est vraiment pas top. Je m'explique: imaginons que j'a i 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 c onnaissance 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'utilisati on du import star même si c'est globalement (ahah) une mauvaise pratiq ue. Certaine librairies utilise des __all__ dans les __init__.py permettant de limiter les globaux à l'import. Nota Bene, ce n'est pas le cas de fastai ;-)
Avatar
Becaree
La pratique courant pour est import matplotlib.pyplot as plt
puis plt.plot()
Avatar
Fabrice
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.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Becaree
Nota Bene, on apprend aux élèves à éviter les faute s 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ét hodes, 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 pu isque CPython est écrit majoritairement en C. C'est les méthodes magic de python qui permettent d'hériter les objets selon les mét hodes 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 v raiment vous pouvez taper L.__len__() et vous verrez que cela marche tout a ussi 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'a i appris la programmation avec python et je m'en sors bien, une syntaxe sim ple et claire est très bien aussi pour aborder les concepts de program mation (même poussés).
Le python c'est tout de même assez simple, jusqu'a passer à l 'objet en fait. Un super lien: https://docs.python.org/3/tutorial/datastruc tures.html 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 quand même bien plus digestes