Да, в Python можно вернуть несколько значений из функции. Это достигается за счет использования кортежей (tuples).
Когда функция возвращает несколько значений, они автоматически упаковываются в кортеж. При вызове функции, можно получить этот кортеж целиком или распаковать его отдельные элементы в разные переменные.
Пример:
    
def get_name_and_age():
  name = "Alice"
  age = 30
  return name, age  # Возвращаем кортеж (name, age)
# Первый способ: получаем кортеж
result = get_name_and_age()
print(result)        # Выведет: ('Alice', 30)
print(result[0])     # Выведет: Alice
print(result[1])     # Выведет: 30
# Второй способ: распаковываем кортеж в переменные
name, age = get_name_and_age()
print(name)        # Выведет: Alice
print(age)         # Выведет: 30
    
  
  Дополнительные моменты:
Пример с *:
    
def get_data():
    return 1, 2, 3, 4, 5
first, second, *rest = get_data()
print(first)   # Выведет: 1
print(second)  # Выведет: 2
print(rest)    # Выведет: [3, 4, 5]
    
  
  Таким образом, возможность возврата нескольких значений делает код более читабельным и лаконичным, особенно когда нужно получить несколько связанных результатов из функции.