Я пытаюсь сделать функцию __init__()
для класса. Вот пример того, где я застрял.Python Дополнительные параметры Цензура
class Names():
"""a class for storing a number of names"""
def __init__(self, names): #names can be any sequence of strings
"""takes a sequence of names and puts them into a list"""
self.name_list = []
for element in names:
self.name_list.append(element)
Но когда я пытаюсь:
Names("John", "Bobby", "Sarah")
Я получаю сообщение об ошибке
TypeError: init() takes 2 positional arguments but 4 were given
Есть ли способ, чтобы сделать эту работу для произвольного числа имен или, другими словами, последовательность имен?
'= список (имена) ...' –
@AshwiniChaudhary Хорошая точка! 'names' будет изначально кортежем. Это подходит/достаточно «list-like» для многих операций последовательности, но для некоторых потребуется истинный «список». Добавлена личность. –