Il n'y a pas de différence du tout. Ils fonctionnent tous les deux exactement de la même manière.
Toutefois, d'un point de vue stylistique, l'un peut être préférable à l'autre. Et sur cette note, le PEP-8 pour les importations dit que vous devriez compresser from module import name1, name2
sur une seule ligne et laissez import module1
sur plusieurs lignes :
Yes: import os
import sys
No: import sys, os
Ok: from subprocess import Popen, PIPE
En réponse au commentaire de @teewuane (répété ici au cas où le commentaire serait supprimé) :
@inspectorG4dget Et si vous deviez importer du matériel module et que cela finit par rendre la ligne plus longue que 80 caractères ? Je sais que Je sais que la règle des 80 caractères est "quand cela rend le code plus lisible" mais je me mais je me demande toujours s'il n'y a pas une façon plus ordonnée de faire cela. Et je ne veux pas Et je ne veux pas faire from foo import * alors que je suis en train d'importer tout.
Le problème est qu'en faisant quelque chose comme ce qui suit, on risque de dépasser la limite des 80 caractères :
from module import func1, func2, func3, func4, func5
A cela, j'ai deux réponses (je ne vois pas que PEP8 soit trop clair à ce sujet) :
Divisez-le en deux importations :
from module import func1, func2, func3
from module import func4, func5
Cela présente l'inconvénient que si module
est supprimé de la base de code ou autrement remanié, alors les deux lignes d'importation devront être supprimées. Cela pourrait s'avérer douloureux
Diviser la ligne :
Pour atténuer le problème ci-dessus, il peut être plus sage de faire
from module import func1, func2, func3, \
func4, func5
Il en résulterait une erreur si la deuxième ligne n'est pas supprimée en même temps que la première, tout en conservant l'instruction d'importation singulière