Сгруппировать функции
Есть такой вот код:
class Test:
def __init__(self, a):
self.a = a;
def abc(self):
print(self.a);
def cde(self):
print(self.a);
Могу ли я как-то сгруппировать функции? Чтобы запускать их не так (например:)
a = Test('Hello');
a.abc();
А вот таким образом:
a = Test('Hello');
a.alphabet.abc();
a.alphabet.cde();
?
Ответы (2 шт):
Автор решения: Кирилл Малышев
→ Ссылка
Можно с внутренним классом:
class Test:
def __init__(self, a):
self.a = a
self.alphabet = Test.Alphabet(self)
class Alphabet:
def __init__(self, test):
self.test = test
def abc(self):
print(self.test.a)
def cde(self):
print(self.test.a)
a = Test('Hello')
a.alphabet.abc()
a.alphabet.cde()
Автор решения: GrAnd
→ Ссылка
Если добавите в класс атрибут alphabet, то сможете.
class Test:
def __init__(self, a):
self.a = a;
self.alphabet = self # <<<<<<<<<<<<
def abc(self):
print(self.a);
def cde(self):
print(self.a);
a = Test('Hello');
a.alphabet.abc();
a.alphabet.cde();