У меня есть несколько связанных классов, находящихся в пакете, подобном этому:
\cool
\__init__.py
class CoolObj: ...
class CoolStr(CoolObj): ...
class CoolName(CoolStr): ...
class CoolSound(CoolObj): ...
И я использую эти классы так:
import cool
cn = cool.CoolName()
...
Этот файл __init__.py
тоже становитсядолго.Было бы хорошо, если бы я мог поместить каждый класс в каждый отдельный файл следующим образом:
\cool
\__init__.py
\cool_obj.py
class CoolObj: ...
\cool_str.py
class CoolStr(CoolStr): ...
\cool_name.py
class CoolName(CoolStr): ...
\cool_sound.py
class CoolSound(CoolObj): ...
Однако, таким образом, эти файлы становятся modules , и мне придется использоватьих как ниже, что немного многословно.
from cool import cool_obj, cool_str, cool_name, cool_sound
cn = cool_name.CoolName()
Есть ли в любом случае исходный код, который можно поместить в отдельный файл, и при этом иметь возможность ссылаться на них с кратким синтаксисом, как сейчас?
Еще лучше, есть ли в python
что-то вроде частичный класс в C#
, позволяющее распространять реализацию одного и того же класса в разных файлах?