import module as name

import module as name - Python - Programmation

Marsh Posté le 13-06-2007 à 15:12:10    

j'ai pas compris l'interet d'un:
 
import SFSUtils as utils

Reply

Marsh Posté le 13-06-2007 à 15:12:10   

Reply

Marsh Posté le 14-06-2007 à 08:58:36    

moon93 a écrit :

j'ai pas compris l'interet d'un:
 
import SFSUtils as utils


 
Je débute en Python donc peut-être que je vais dire une connerie... mais moi je vois ça comme un aliasing.
 
Exemple: Si le module SFUtils possède un objet "truc", tu dois l'appeler en le nommant "SFUtils.truc". Peut-être qu'en l'important avec "as machin", tu peux ensuite remplacer "SFUtils.truc" par "machin.truc"...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 14-06-2007 à 10:29:36    

Tu as fais ton propre module de thread, tu veux l'utiliser en remplacement du module threading, sans pour autant changer tes sources :  
 

Code :
  1. import mythreadmodule as threading


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 14-06-2007 à 15:06:33    

zapan666 a écrit :

Tu as fais ton propre module de thread, tu veux l'utiliser en remplacement du module threading, sans pour autant changer tes sources :

 
Code :
  1. import mythreadmodule as threading



Ca, et aussi le fait que ça permette de de changer un nom long en nom court e.g.

Code :
  1. import foobarbaz.gnupafploc.turbomagicgeezermuncher as muncher


Parce que si on fait juste

Code :
  1. import foobarbaz.gnupafploc.turbomagicgeezermuncher


ben pour appeler la classe "Oleg" dans le module, il faut faire

Code :
  1. foobarbaz.gnupafploc.turbomagicgeezermuncher.Oleg


alors qu'avec l'import...as on fait simplement

Code :
  1. muncher.Oleg


ce qui est un micropoil moins chiant à taper et à lire.

Message cité 1 fois
Message édité par masklinn le 14-06-2007 à 15:06:57

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 14-06-2007 à 19:12:53    

masklinn a écrit :

Ca, et aussi le fait que ça permette de de changer un nom long en nom court e.g.

Code :
  1. import foobarbaz.gnupafploc.turbomagicgeezermuncher as muncher


Parce que si on fait juste  

Code :
  1. import foobarbaz.gnupafploc.turbomagicgeezermuncher


ben pour appeler la classe "Oleg" dans le module, il faut faire

Code :
  1. foobarbaz.gnupafploc.turbomagicgeezermuncher.Oleg


alors qu'avec l'import...as on fait simplement

Code :
  1. muncher.Oleg


ce qui est un micropoil moins chiant à taper et à lire.


 
Ouaip... et en faisant "import * from foobarbaz.gnupafploc.turbomagicgeezermuncher" tu peux appeler directement la classe "Oleg" ce qui est un demi-micropoil de plus de moins chiant :D  


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 14-06-2007 à 19:23:26    

from blabla import truc plutôt


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 14-06-2007 à 19:25:07    

Sve@r a écrit :

Ouaip... et en faisant "import * from foobarbaz.gnupafploc.turbomagicgeezermuncher" tu peux appeler directement la classe "Oleg" ce qui est un demi-micropoil de plus de moins chiant :D


Sauf qu'ave "from foobarbaz.gnupafploc.turbomagicgeezermuncher import *" tu flingues tout ton namespace. À la limite "from foobarbaz.gnupafploc.turbomagicgeezermuncher import Oleg", mais même là tu risques des collisions, et naturellement les objets importés sont notablement plus difficiles à repérer dans le code (la seconde syntaxe reste très utilisée et pratique).


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed