Exposing some Python classes without coupling to file structure -
my project consists of several python classes, split several files.
projname/ a.py # has classes a1 , a2 b.py # has classes b1 b2 b3 c.py # has class c test/ doc/ bin/
i'd able make (or all) of classes public, that, either bin
dir, or python script, can like:
import projname ... myvar = projname.a1()
i can't figure out how that. best can far is:
import projname.a import projname.b import projname.c myvar = projname.a.a1()
i don't 2 reasons:
- i don't want clients of code have know , care files used distribute classes. don't want break clients if change files
- i'd prefer expose classes outside project - not of them
put __init__.py
projname/
following content:
from .a import a1, a2 .b import b1, b2, b3 .c import c
this turns projname
package namespace contains whatever __init__.py
contains, in case a1
, a2
, b1
, b2
, b3
, c
.
Comments
Post a Comment