Описать функцию
Фраза, которую функция хранит у себя, и слово, которое она возвращает, — разные вещи. Когда вы передаёте имя, возвращается одно, а хранится другое. Фраза пишется в тройных кавычках и обязана быть первой строкой с отступом прямо под def. Функция hello принимает одно имя. По фразе результат — hello плюс это имя, а строка с return склеивает слово hello, пробел и имя. Никакой пакет не ставится, никакая папка не создаётся. Первый print выводит эту фразу, второй — hello для lena. Программа не останавливается.
def hello(name):
"""Return hello plus the name."""
return "hello " + name
print(hello.__doc__)
print(hello("lena"))
На экране две строки. Первая — ровно такая: Return hello plus the name. Точка в конце входит в саму фразу; кавычек вокруг нет, и это не десятичная точка. Вторая строка — hello lena, где lena — имя, которое вы передали в hello. Пробел между hello и lena уже лежит в строке с return, до того как имя присоединено. Две строки — это две разные записи: первая — фраза, хранимая у функции, вторая — то, что функция возвращает, когда вы передаёте имя. print пишет обе, после чего программа завершается. None не выводится. Этих двух строк достаточно, второй инструмент не нужен.
Строка, начинающаяся с #, — всего лишь заметка для человека, который читает файл; у hello она не хранится. Уберите строку с тройными кавычками — и фразы нет, а первый print выведет None. Передача имени по-прежнему даст hello lena, и программа по-прежнему завершится. Такой пропавшей строки в этой программе нет. Тройные кавычки должны стоять первой строкой с отступом под def: запись после другой строки фразой функции не станет. Эта страница не строит класс, не вкладывает один объект в другой и не гоняется за неверным подсчётом мест.
📊 две строки на экране
| что вы печатаете | что пишет эта строка |
|---|---|
| описание, хранимое у hello | Return hello plus the name. |
| hello("lena") | hello lena |
Следующая страница называется Имена. Здесь вы лишь кладёте на hello однострочную фразу, затем печатаете её и то hello, которое функция отдаёт обратно.
Фраза — это не само hello
Первая строка на экране — Return hello plus the name. Вторая — hello lena. Заметка с # не хранится. Опустите тройные кавычки — и фраза превратится в None. Следующая страница — Имена.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху