|
Как динамически создавать классы / функции в модуле?
|
|||
---|---|---|---|
#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&msg=39748059&tid=1460062]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 452ms |
0 / 0 |