Python

Function_name в Python: как ввести имя через input() и передать его в функцию

Если вы увидели в учебном примере function_name, важно понять одну вещь: это не специальная команда Python. Обычно так обозначают «имя вашей функции»

То есть вместо function_name нужно написать нормальное имя, которое описывает действие функции

Например:

def greet_user(name):
    return f"Привет, {name}!"

Здесь greet_user — это имя функции, а name — параметр, куда мы передадим имя пользователя

Как ввести имя в Python

Для ввода текста с клавиатуры используют input()

name = input("Введите имя: ")
print(name)

Когда программа дойдет до input(), она остановится и будет ждать, пока пользователь введет текст в терминале

Если пользователь введет Динар, переменная name получит строку Динар

Полный пример с функцией

Создайте файл hello_name.py

def greet_user(name):
    return f"Привет, {name}!"

user_name = input("Введите имя: ")
message = greet_user(user_name)

print(message)

Запустите файл

Windows:

py hello_name.py
python3 hello_name.py

В консоли появится приглашение:

Введите имя:

Введите свое имя и нажмите Enter

Пример:

Введите имя: Динар
Привет, Динар!

Что здесь происходит

Функция создается строкой def greet_user(name):

greet_user — имя функции

name — параметр функции

input("Введите имя: ") показывает вопрос и ждет ввод пользователя

user_name хранит введенное имя

greet_user(user_name) вызывает функцию и передает туда введенное имя

print(message) выводит готовое сообщение в консоль

Почему function_name вызывает путаницу

В учебниках иногда пишут абстрактный шаблон:

def function_name(parameter):
    return parameter

Такой код технически может работать, но для новичка он выглядит так, будто function_name — особое слово

На самом деле имя функции выбираете вы

def say_hello(name):
    return f"Привет, {name}!"
def make_greeting(name):
    return f"Здравствуйте, {name}"

Главное, чтобы имя функции было понятным и чтобы вы вызывали именно его

Неправильный и правильный вариант

Неправильно, если вы вызываете функцию, которую не создавали

def greet_user(name):
    return f"Привет, {name}!"

user_name = input("Введите имя: ")
print(function_name(user_name))

Python выдаст ошибку:

NameError: name 'function_name' is not defined

Правильно:

def greet_user(name):
    return f"Привет, {name}!"

user_name = input("Введите имя: ")
print(greet_user(user_name))

Если функция называется greet_user, вызывать нужно greet_user, а не function_name

input() всегда возвращает строку

Даже если пользователь введет число, input() вернет текст

age = input("Введите возраст: ")

print(type(age))

Если ввести 25, результат будет:

<class 'str'>

Для имени это нормально, потому что имя и должно быть строкой

Для числа нужна конвертация:

age = int(input("Введите возраст: "))

Проверка пустого имени

Пользователь может просто нажать Enter. Добавим проверку

def greet_user(name):
    if name == "":
        return "Вы не ввели имя"

    return f"Привет, {name}!"

user_name = input("Введите имя: ").strip()
message = greet_user(user_name)

print(message)

Метод .strip() убирает лишние пробелы в начале и конце строки

Частые ошибки

NameError: function_name is not defined

Вы вызвали function_name, но такой функции в коде нет. Замените function_name на настоящее имя вашей функции

IndentationError

Внутри функции строки должны быть с отступом

def greet_user(name):
    return f"Привет, {name}!"

Программа ничего не делает

Возможно, она ждет ввод после input(). Посмотрите на терминал и введите имя, затем нажмите Enter

Функция печатает None

Если внутри функции нет return, она вернет None. Если хотите сохранить сообщение в переменную, используйте return

Что почитать дальше по Python

Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x