Skip to content Skip to sidebar Skip to footer

Can I Put A Class Definition Into __init__.py?

I have a package with a class structure similar to this. Base class is a typical, simple parent class for a few separate hierarchies. My package layout looks like this: __init__.py

Solution 1:

It is perfectly fine and a more flexible approach to leave it in base.py. Also note that the primary use of __init__.py is to initialize Python packages and not to hold content.

To avoid having to import the module each time you can write something like

# in __init__.py
from .base import Base

into the __init__.py such that you can directly import Base from my_package:

# some script
from my_package import Base

This is a common approach to make objects available at the package level.

For more info about the __init__.py file check out the documentation.


Post a Comment for "Can I Put A Class Definition Into __init__.py?"