Целью является создание класса с использованием метода __init__
, который позволит создавать объекты, которые будут инициализированы определенным словарем.Инициализировать объект, построенный из класса с помощью определенного словаря
Детали:
файловое mydicts.py
представляет собой набор различных словарей. Объект, построенный из класса, который я намерен создать, будет инициализирован одним из словарей от mydicts.py
.
mydicts.py
пример:
dict1 = {k1:v1, k2:v2,...,kn:vn}
dict2 = {k1:v1, k2:v2,...,km:vm}
etc.
Мои попытки:
class Example(dict):
def __init__(self, dictx):
self.dictx = getattr(__import__("mydicts", fromlist=['m']), dictx)
Результаты:
e = Example('dict1')
print e
{} # <- got empty dictionary. Want {k1:v1, k2:v2,...,kn:vn}
Цель состоит в том, чтобы создавать объекты, такие, что:
a = Example(dict1)
print a
# {k1:v1, k2:v2,...,kn:vn}
b = Example(dict2)
print b
# {k1:v1, k2:v2,...,km:vm}
для печати информации о каком-либо объекте вам нужно определить '__str__' метод внутри класса. попробуйте напечатать self.dictx в этом методе, он будет неявным образом вызван, когда вы напечатаете экземпляр этого класса – ZdaR
. Я должен принять решение @ iCodez, поскольку он был более подробным, но это вокруг той же идеи, что и вы предложили. – flamenco