Fonction choice
Citation de Didier_93 le 7 janvier 2026, 11 h 43 minBonjour.
Je suis débutant sur Python. Concernant la fonction choice, j'ai fait des recherches sur Google. J'ai invariablement trouvé la même écriture de cette fonction : random.choice(sequence). Or, j'ai utilisé cette fonction avec l'écriture : choice(sequence) (sans random) et ça fonctionne :
Ma question est la suivante : si les 2 écritures coexistent, pourquoi la plus simple (sans random) n'est-elle pas préconisée ?
Merci d'avance pour vos réponses.
Bonjour.
Je suis débutant sur Python. Concernant la fonction choice, j'ai fait des recherches sur Google. J'ai invariablement trouvé la même écriture de cette fonction : random.choice(sequence). Or, j'ai utilisé cette fonction avec l'écriture : choice(sequence) (sans random) et ça fonctionne :
Ma question est la suivante : si les 2 écritures coexistent, pourquoi la plus simple (sans random) n'est-elle pas préconisée ?
Merci d'avance pour vos réponses.
Citation de DataDefender le 7 janvier 2026, 18 h 53 minSalut Didier_93
1)- Quand tu utilise le code :
from random import *A ce moment là vous importer la totalité du contenu du module y compris la fonction choice() qui est importé! Donc on peut dans ce cas l'utiliser directement :
# La fonction choice() est déjà importée et est là # on peut donc l'utiliser nom = choice(liste_noms)2)- Quand tu import le module random avec le code:
import randomA ce moment là c'est le module random que vous importer et vous n'avez importé aucune fonction de ce module. Dans ce cas si vous voulez utiliser une fonction quelconque du module comme la fonction choice(), vous devez utiliser
le_nom_du_module.nom_de_la_fonction()Exemple dans ton cas:
import random # Ici on a importé le module rnadom et non pas le contenu du module # Donc aucune fonction n'est importée # pour utiliser une fonction quelconque du module on doit passer par ce dernier nom = random.choice(liste_noms) # Et si vous utilisez la syntaxe suivante elle vous renvoie une erreur: nom = choice(liste_noms) # Vous obtenez l'erreur : NameError: name 'choice' is not definedJe pense que cela va vous aidez à comprendre la différence entre les deux syntax:
from random import *et
import randomSi vous rencontrez le moindre problème, veuillez le partager ici afin d'aider d'autres membres du forum!
Bonne chance Didier_93
Salut Didier_93
1)- Quand tu utilise le code :
from random import *
A ce moment là vous importer la totalité du contenu du module y compris la fonction choice() qui est importé! Donc on peut dans ce cas l'utiliser directement :
# La fonction choice() est déjà importée et est là # on peut donc l'utiliser nom = choice(liste_noms)
2)- Quand tu import le module random avec le code:
import random
A ce moment là c'est le module random que vous importer et vous n'avez importé aucune fonction de ce module. Dans ce cas si vous voulez utiliser une fonction quelconque du module comme la fonction choice(), vous devez utiliser
le_nom_du_module.nom_de_la_fonction()
Exemple dans ton cas:
import random # Ici on a importé le module rnadom et non pas le contenu du module # Donc aucune fonction n'est importée # pour utiliser une fonction quelconque du module on doit passer par ce dernier nom = random.choice(liste_noms) # Et si vous utilisez la syntaxe suivante elle vous renvoie une erreur: nom = choice(liste_noms) # Vous obtenez l'erreur : NameError: name 'choice' is not defined
Je pense que cela va vous aidez à comprendre la différence entre les deux syntax:
from random import *
et
import random
Si vous rencontrez le moindre problème, veuillez le partager ici afin d'aider d'autres membres du forum!
Bonne chance Didier_93