У меня есть класс с одним методом, который выводит dict
.Классу нужно указать file_path.Методу нужен строковый параметр для вывода dict.Вот некоторый псевдокод.
class A():
def __init__(self, file_path):
self.file_path = file_path
def create_dict(self, param):
#uses self.filepath
#creates a dict called data. The dict contains 2 keys and each key contains a list. The first list is a list of strings and the second a list of integers
return data
Процедура генерации этого dict
не имеет значения, на мой взгляд.Окончательный вывод выглядит следующим образом:
data = {'Key1': ['String1', 'String2', 'String3',....], 'Key2': [1,2,4,....]}
Когда я начал реализовывать этот класс, я заметил, что вместо этого хотел data
быть объектом.Этот объект будет иметь методы data.printKey1()
и data.printKey2()
, которые будут выводить следующее:
>>> data.printKey1()
String1
String2
String3
...
>>>data.printKey2()
1
2
4
Теперь я застрял, потому что я действительно не хочу восстанавливать всю процедуру, с помощью которой data
генерируется, но мне нужно, чтобы он был объектом.
Я не уверен, стоит ли мне использовать наследование, сдерживание класса или состав (или какую-то другую конструкцию, которой я являюсьне в курсе).Теоретически, что является лучшей практикой для использования здесь?Как я могу сгенерировать этот новый data
класс / объект без необходимости переделки всей процедуры, содержащейся в методе create_dict
?
Спасибо