Вызов метода сразу после создания объекта в ООП в Python
Пусть у нас дан класс Arr, который
хранит в себе массив чисел и может вычислять
сумму этих чисел с помощью метода get_sum.
Сами числа приходят в виде списка в конструктор
объекта, а также могут добавляться по одному
с помощью метода add:
class Arr:
def __init__(self, numbers):
self.numbers = numbers
def add(self, number):
self.numbers.append(number)
def get_sum(self):
return sum(self.numbers)
Вот пример использования класса Arr:
arr = Arr([1, 2, 3])
arr.add(4)
arr.add(5)
print(arr.get_sum()) # выведет 15
Может такое быть, что все нужные числа мы передадим в момент создания объекта, а затем сразу захотим найти их сумму:
arr = Arr([1, 2, 3])
print(arr.get_sum()) # выведет 6
Если мы больше не планируем делать никаких
манипуляций с объектом, то код выше можно
переписать короче: можно создать объект и
сразу вызвать его метод get_sum:
print(Arr([1, 2, 3]).get_sum()) # выведет 6
Дан следующий класс:
class StringProcessor:
def __init__(self, text):
self.str = text
def append(self, text):
self.str += text
return self
def get_value(self):
return self.str
def get_length(self):
return len(self.str)
Пусть с этим классом поработали следующим образом:
str = StringProcessor('aaa')
str.append('bbb')
str.append('ccc')
print(str.get_length())
Перепишите этот код через вызов класса на месте.