Я создал функцию в python для печати некоторой информации через нее. Я пытаюсь поставить list of alphabets
для функции вместе с type
, под которые попадают эти алфавиты.
Поскольку я не предоставляю значение type
с внешней стороны функции, я определил его как None. Однако, когда я выполняю функцию, она проверяет, является ли значение типа None. Если он равен None, он выполняет блок исключения, чтобы получить единицу.
Хотя значение типа равно None, когда в функцию передается алфавит, значения предыдущего типа уже нет (при запускедважды) хранится в памяти.
Я пробовал:
def get_info(alpha,alpha_type):
print("checking value of item:",alpha_type)
try:
if not alpha_type:raise
return alpha,alpha_type
except Exception:
alpha_type = "vowel"
return get_info(alpha,alpha_type)
if __name__ == '__main__':
for elem in ["a","e","o"]:
print(get_info(elem,alpha_type=None))
Вывод, который он производит:
checking value of item: None
checking value of item: vowel
('a', 'vowel')
checking value of item: None
checking value of item: vowel
('e', 'vowel')
checking value of item: None
checking value of item: vowel
('o', 'vowel')
Вывод, который я хотел бы получить:
checking value of item: None
checking value of item: vowel
('a', 'vowel')
checking value of item: vowel
('e', 'vowel')
checking value of item: vowel
('o', 'vowel')
Как я могу использовать значение предыдущего типа вместо None?
Кстати, я после любого решения, которое сохраняет существующий дизайн без изменений.