Доброго дня. Я вот совсем новичок в программировании, дошёл до темы в ООП - режимы доступа. Есть вот такой код:
class Teams:
def __init__(self, name, best_player):
self.__name=name
self.__best_player=best_player
@classmethod
def __value_check(cls,x):
return type(x)==str
def set_info(self, name, best_player):
if self.__value_check(name) and self.__value_check(best_player):
self.__name = name
self.__best_player = best_player
else:
raise ValueError ("должно быть строкой!"
def get_info(self, name, best_player):
if self.__value_check(name) and self.__value_check(best_player):
print(f"Это команда {self.__name} и её лучший игрок {self.__best_player}!"
raise ValueError ("должно быть строкой!"
Minnesota=Teams("Minnesota", "Kaprizov"
Minnesota.get_info()
ДВА ВОПРОСА: Почему когда я запускаю код, то у меня выходит ошибка "TypeError: Teams.get_info() missing 2 required positional arguments: 'name' and 'best_player' - Я ВЕДЬ УЖЕ ОПРЕДЕЛИЛ ЗНАЧЕНИЯ "name" и 'best_player".Почему когда я запускаю код в такой форме: Minnesota.get_info("Minnesota", "Kaprizov", то выходит следующее:Это команда Minnesota и её лучший игрок Kaprizov! Traceback (most recent call last): File "C:\Users\lawyer\PycharmProjects\LOTR\NHL_MASS.py", line 27, in <module> Minnesota.get_info("Minnesota", "Kaprizov" File "C:\Users\lawyer\PycharmProjects\LOTR\NHL_MASS.py", line 21, in get_info raise ValueError ("должно быть строкой!" ValueError: должно быть строкой!ПОЧЕМУ НАХОДИТ ОШИБКУ, ЕСЛИ ОБЕ ПЕРЕМЕННЫЕ ЯВЛЯЮТСЯ СТРОКАМИ?
class Teams:
def __init__(self, name, best_player):
self.__name=name
self.__best_player=best_player
@classmethod
def __value_check(cls,x):
return type(x)==str
def set_info(self, name, best_player):
if self.__value_check(name) and self.__value_check(best_player):
self.__name = name
self.__best_player = best_player
else:
raise ValueError ("должно быть строкой!"
def get_info(self, name, best_player):
if self.__value_check(name) and self.__value_check(best_player):
print(f"Это команда {self.__name} и её лучший игрок {self.__best_player}!"
raise ValueError ("должно быть строкой!"
Minnesota=Teams("Minnesota", "Kaprizov"
Minnesota.get_info()
ДВА ВОПРОСА: Почему когда я запускаю код, то у меня выходит ошибка "TypeError: Teams.get_info() missing 2 required positional arguments: 'name' and 'best_player' - Я ВЕДЬ УЖЕ ОПРЕДЕЛИЛ ЗНАЧЕНИЯ "name" и 'best_player".Почему когда я запускаю код в такой форме: Minnesota.get_info("Minnesota", "Kaprizov", то выходит следующее:Это команда Minnesota и её лучший игрок Kaprizov! Traceback (most recent call last): File "C:\Users\lawyer\PycharmProjects\LOTR\NHL_MASS.py", line 27, in <module> Minnesota.get_info("Minnesota", "Kaprizov" File "C:\Users\lawyer\PycharmProjects\LOTR\NHL_MASS.py", line 21, in get_info raise ValueError ("должно быть строкой!" ValueError: должно быть строкой!ПОЧЕМУ НАХОДИТ ОШИБКУ, ЕСЛИ ОБЕ ПЕРЕМЕННЫЕ ЯВЛЯЮТСЯ СТРОКАМИ?