Importer un module. [Résolu]

reveurduciel 6 Messages postés mercredi 16 mai 2007Date d'inscription 24 juin 2009 Dernière intervention - 15 mai 2009 à 17:58 - Dernière réponse : reveurduciel 6 Messages postés mercredi 16 mai 2007Date d'inscription 24 juin 2009 Dernière intervention
- 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

reveurduciel 6 Messages postés mercredi 16 mai 2007Date d'inscription 24 juin 2009 Dernière intervention - 15 mai 2009 à 18:33
+2
Utile
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).

 
Cette réponse vous a-t-elle aidé ?  
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.