|
Как динамически создавать классы / функции в модуле?
|
|||
---|---|---|---|
#18+
У меня есть десяток однотипных классов (классы, создающие однотипные таблицы в БД). Хочется не заниматься копи- пастом, а запустить цикл, который в пространстве имен модуля создаст нужные мне классы. Тоже касается и функций модуля: для реализаци паттерна Синглтон я использую функцию модуля с ее атрибутом (Саммерфилд, "Python на практике", стр 38). Нужно как-то программно в несколько модулей добавить один и тот же код (причем его нельзя заключить в процедуре общего модуля, потому что разные синглтоны должны инициализировать свои атрибуты). Примерно представляю как это сделать (надо обращаться к словарю переменных модуля и туда добавлять нужные классы / функции), но конкретный пример позволит не изобретать велосипед. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 17:35 |
|
Как динамически создавать классы / функции в модуле?
|
|||
---|---|---|---|
#18+
AlekseySQLУ меня есть десяток однотипных классов (классы, создающие однотипные таблицы в БД). Хочется не заниматься копи- пастом, а запустить цикл, который в пространстве имен модуля создаст нужные мне классы. Смотри type(name, bases, dict) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 17:52 |
|
Как динамически создавать классы / функции в модуле?
|
|||
---|---|---|---|
#18+
NekZAlekseySQLУ меня есть десяток однотипных классов (классы, создающие однотипные таблицы в БД). Хочется не заниматься копи- пастом, а запустить цикл, который в пространстве имен модуля создаст нужные мне классы. Смотри type(name, bases, dict) Ну это понятно, вопрос в том, как полученный с помощью type объект положить в модуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 17:59 |
|
Как динамически создавать классы / функции в модуле?
|
|||
---|---|---|---|
#18+
AlekseySQLNekZпропущено... Смотри type(name, bases, dict) Ну это понятно, вопрос в том, как полученный с помощью type объект положить в модуль. Подозреваю что Код: python 1.
Но это извращение. Потом поддерживать и дебажить это будет очень весело. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 18:13 |
|
|
start [/forum/topic.php?fid=23&gotonew=1&tid=1460062]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 469ms |
0 / 0 |