Importer un module. [Résolu]

Messages postés
6
Date d'inscription
mercredi 16 mai 2007
Dernière intervention
24 juin 2009
- 15 mai 2009 à 17:58 - Dernière réponse :
Messages postés
6
Date d'inscription
mercredi 16 mai 2007
Dernière intervention
24 juin 2009
- 15 mai 2009 à 18:33
Bonjour

Il y a quelques chose que je ne comprends pas...
Voilà, j'essaie d'utiliser une fonction du module random de python... D'abord je l'essai sans importer le module.

>>> random.randrange(10,20,2)

Traceback (most recent call last):
  File "", line 1, in <module>
    random.randrange(10,20,2)
NameError: name 'random' is not defined

Ça ne fonctionne pas, c'est normal. Je vais maintenant tenter d'importer toutes les fonctions du module random...

>>> from random import *
>>> random.randrange(10,20,2)

Traceback (most recent call last):
  File "", line 1, in <module>
    random.randrange(10,20,2)
AttributeError: 'builtin_function_or_method' object has no attribute 'randrange'

Ça ne fonctionne pas plus. On dirait que l'interpréteur ne reconnait pas la fonction randrange alors que je l'ai importé. J'essai en remplaçant from randor import * par import random

>>> import random
>>> random.randrange(10,20,2)
12

Ça fonctionne. Pourtant from randor import * et import random ne sont-elle pas deux lignes de commandes simillaires ?
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
6
Date d'inscription
mercredi 16 mai 2007
Dernière intervention
24 juin 2009
- 15 mai 2009 à 18:33
2
Merci
Hum... en fouillant un peu dans le guide "Apprendre à programmer avec Python", j'ai trouvé la réponse à ma question. Je la poste ici au cas où certain serait curieux/ne le savait pas/ trouve ce sujet par recherche.

En fait, la commande from random import * permet d'intégrer les différentes fonctions d'un module à son code comme si elle avait été écrite par l'utilisateur. Il faut donc utiliser la syntaxe randrange(10,20,2). En gros, il n'est plus nécessaire de spécifier le random.

La commande import random par contre importe l'intégralité des fonctions du module random, mais celui ci doit encore être spécifié. Ici, il faut écrire random.randrange(10,20,2).

 

Merci reveurduciel 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de reveurduciel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.