Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Python: welke manier van importeren heeft de voorkeur?  (gelezen 1261 keer)

Python: welke manier van importeren heeft de voorkeur?
« Gepost op: 2013/09/09, 15:13:32 »
In Python kun je op meerdere manieren modules of delen van modules importeren.

import module
from module import deel1, deel2

ook

import module as anderenaam

zie ik voorbij komen. Welke wijze van importeren gebruiken jullie meestal en waarom?


Re: Python: welke manier van importeren heeft de voorkeur?
« Reactie #1 Gepost op: 2013/09/09, 16:42:17 »
Ik gebruik beiden eigenlijk. Als ik een enkele functie nodig heb uit een module gebruik ik meestal de from syntax. Anderzijds, wanneer ik meer de hele module gebruik, gebruik ik import as, bijv import numpy as np.

Het voordeel van 'import as' is dat duidelijk is waar de diverse functies en objecten vandaan komen.

Offline MKe

  • Lid
Re: Python: welke manier van importeren heeft de voorkeur?
« Reactie #2 Gepost op: 2013/09/09, 17:24:47 »
Of:from module import deel1 as nieuwenaam, deel2 as andere naam

Ik gebruik de as statement als ik conflicten verwacht met de syntax naam of als ik een beter hanteerbare naam wil.
Je hoeft module trouwens niet eerst te importeren.
« Laatst bewerkt op: 2013/09/09, 17:26:51 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline MKe

  • Lid
Re: Python: welke manier van importeren heeft de voorkeur?
« Reactie #3 Gepost op: 2013/09/09, 17:25:24 »
Dubbele post
« Laatst bewerkt op: 2013/09/09, 17:27:15 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
Re: Python: welke manier van importeren heeft de voorkeur?
« Reactie #4 Gepost op: 2013/09/11, 19:54:31 »
Ik gebruik de 'import ... as ...' syntax eigenlijk alleen in situaties als:
try:
    import json
except ImportError:
    import simplejson as json
en in een interactieve shell.

Iedere keer dat je een module onder een andere naam dan de standaardnaam bekend maakt, loop je het risico dat je zelf of iemand anders later de code leest, niet weet wat de module inhoudt, en het document moet doorzoeken op de alternatieve naam.

Hetzelfde geldt voor import ... from module. Daar tegenover staat natuurlijk wel dat minder typewerk ook wat waard is. Een kwestie van een afweging maken per situatie zou ik zeggen dus. Ik doe bijv. wel 'from PyQt4 import QtGui, QtCore' maar niet 'from PyQt4.QtGui import QWidget, QDialog', en ook niet 'import PyQt4.QtGui'.