Some recommended PEP8 style guidelines for imports:
Imports should be on separate lines:
from math import sqrt, ceil # Not recommended
from math import sqrt # Recommended
from math import ceil
Order imports as follows at the top of the module:
- Standard library imports
- Related third party imports
- Local application/library specific imports
Wildcard imports should be avoided as it leads to confusion in names in the current namespace. If you do from module import *
, it can be unclear if a specific name in your code comes from module
or not. This is doubly true if you have multiple from module import *
-type statements.
Avoid using relative imports; use explicit imports instead.