I am trying to structure my application in Python. Coming back from C # / Java background, I like the approach of one class to the file. I would like my project tree to look like this:
[Service] [Database] DbClass1.py DbClass2.py [Model] DbModel1.py DbModel2.py TheService.py [ServiceTests] [Database] DbClass1Tests.py DbClass2Tests.py [Model] DbModel1Tests.py DbModel2Tests.py TheServiceTests.py
Is it possible to create packages / modules in such a way that the packages work like Java packages or .NET namespaces, i.e. in DbModel1Tests.py:
import Service.Model def test(): m = DbModel1()
-, 1: , . , , , , , . , Python , .
2: . , , , .
, import Service.Model, m = Service.Model.DBModel1().
import Service.Model
m = Service.Model.DBModel1()
, from Service.Model import * ( from Service.Model import DBModel1, ). , : m = DBModel1().
from Service.Model import *
from Service.Model import DBModel1
m = DBModel1()
Q1. 1 Python, .
Q2. from Service.Model import * - Service/Model/__init__.py, , , . import * Python
Service/Model/__init__.py
import *
: Python - #/Java. , , $other_language .
, :
Service.Model.DbModel1 import DbModel1
from service.model import DbModel1
, . , ( - ).
:
__init__.py
from Service.Model import DbModel
m = DbModel1.DbModel1Class()
service.model.dbModel1.DbModel1()
from Service.Model import DbModel1
DbModel1