import functionality in Python
- import the module itself
- or import the specific definitions,
you want to use from the module.
if you don't import the module, you must refer to a procedure or variable defined therein by using its qualified name.
import myModuleName myModuleName.func()
A name (function, variable,…)
- Importing only a function of the module. Import statement that imports names from a module directly into the importing module’s symbol table.
from module import func1, func2 # Example from math import sqrt print sqrt(25) # The full qualified name is here not needed
import imp imp.load_source('util', 'C:/full/path/foo/util.py') import util
from . import mymodule
from .file import myClass
Put your class in a package and use the future absolute_import. See rationale-for-absolute-imports
Example: the below unittest import will import the unittest of the system library, not the script itself
from __future__ import absolute_import import unittest
- Importing all functions of a module. Don't use to get no name resolution conflicts
from module import * print sqrt(25)
- defined, its value is taken to be the list of module names. Example with three modules:
__all__ = ["echo", "surround", "reverse"]
- is not defined, not import all submodules from the package into the current namespace; it only:
- ensures that the package has been imported (possibly running any initialization code in init.py)
- imports whatever names are defined in the package. This includes any names defined (and submodules explicitly loaded) by __init__.py.
- includes any submodules of the package that were explicitly loaded by previous import statements.
import sound.effects.echo import sound.effects.surround from sound.effects import *
In this example, the echo and surround modules are imported in the current namespace because they are defined in the sound.effects package when the from…import statement is executed. (This also works when __all__ is defined.)
- Module alias
import moduleName as alias alias.func() # and not moduleName .funct()
- Name alias
from module import name as aliasName
The path is where Python searches the modules to Import.
- package structure
spam/ __init__.py foo.py bar.py
from .foo import Foo from .bar import Bar
then executing the following puts a name binding to foo and bar in the spam module:
import spam spam.foo
<module 'spam.foo' from '/tmp/imports/spam/foo.py'>
<module 'spam.bar' from '/tmp/imports/spam/bar.py'>