М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет108/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   104   105   106   107   108   109   110   111   ...   334
Байланысты:
Изучаем Python


Глава 8 посвящена 
функциям
. Функции позволяют разделить программу на мень-
шие части, каждая из которых решает одну конкретную задачу. Функции можно 
хранить в отдельных файлах и вызывать их столько раз, сколько потребуется. Бла-
годаря функциям вы сможете писать более эффективный, более простой в отладке 
и сопровождении код, который к тому же можно повторно использовать в разных 
программах.


8
Функции
Эта глава посвящена 
функциям
— именованным блокам кода, предназначенным для 
решения одной конкретной задачи. Чтобы выполнить задачу, определенную в виде 
функции, вы 
вызываете
функцию, отвечающую за эту задачу. Если задача должна 
многократно выполняться в программе, вам не придется заново вводить весь не-
обходимый код; просто вызовите функцию, предназначенную для решения задачи, 
и этот вызов прикажет Python выполнить код, содержащийся внутри функции. 
Как вы вскоре убедитесь, использование функций упрощает чтение, написание, 
тестирование кода и исправление ошибок.
В этой главе также рассматриваются возможности передачи информации функ-
циям. Вы узнаете, как писать функции, основной задачей которых является вывод 
информации, и другие функции, предназначенные для обработки данных и возвра-
щения значения (или набора значений). Наконец, вы научитесь хранить функции 
в отдельных файлах, называемых 
модулями
, для упорядочения файлов основной 
программы.
Определение функции
Вот простая функция с именем 
greet_user
()
, которая выводит приветствие:
greeter.py

def greet_user():

"""Выводит простое приветствие."""

print("Hello!")

greet_user()
В этом примере представлена простейшая структура функции. Строка 

при по-
мощи ключевого слова 
def
сообщает Python, что вы определяете функцию. В 
опре-
делении функции
указывается имя функции и если нужно — описание информации, 
необходимой функции для решения ее задачи. Эта информация заключается 
в круглые скобки. В данном примере функции присвоено имя 
greet_user()
и она 
не нуждается в дополнительной информации для решения своей задачи, поэтому 


144
Глава 8 • Функции
круглые скобки пусты. (Впрочем, даже в этом случае они обязательны.) Наконец, 
определение завершается двоеточием.
Все строки с отступами, следующие за 
def
greet_user():
, образуют 
тело
функ-
ции. Текст в точке 

представляет собой комментарий — 
строку документации
с описанием функции. Строки документации заключаются в утроенные кавычки; 
Python опознает их по этой последовательности символов во время генерирования 
документации к функциям в ваших программах.
«Настоящий» код в теле этой функции состоит всего из одной строки 
print("Hello!")
— см. 

. Таким образом, функция 
greet_user()
решает всего 
одну задачу: выполнение команды 
print("Hello!")
.
Когда потребуется использовать эту функцию, вызовите ее. 
Вызов функции
при-
казывает Python выполнить содержащийся в ней код. Чтобы вызвать функцию, 
укажите ее имя, за которым следует вся необходимая информация, заключенная 
в круглые скобки, как показано в строке 

. Так как никакая дополнительная ин-
формация не нужна, вызов функции эквивалентен простому выполнению команды 
greet_user()
. Как и ожидалось, функция выводит сообщение 
Hello!
:
Hello!
Передача информации функции
С небольшими изменениями функция 
greet_user()
сможет не только сказать 
«Привет!» пользователю, но и поприветствовать его по имени. Для этого следует 
включить имя 
username
в круглых скобках в определении функции 
def
greet_
user()
. С добавлением 
username
функция примет любое значение, которое будет 
заключено в скобки при вызове. Теперь функция ожидает, что при каждом вызове 
будет передаваться имя пользователя. При вызове 
greet_user()
укажите имя (на-
пример, 
'jesse'
) в круглых скобках:
def greet_user(username):
"""Выводит простое приветствие."""
print(f"Hello, {username.title()}!")
greet_user('jesse')
Команда 
greet_user('jesse')
вызывает функцию 
greet_user()
и передает ей 
информацию, необходимую для выполнения команды 
print
. Функция получает 
переданное имя и выводит приветствие для этого имени:
Hello, Jesse!
Точно так же команда 
greet_user('sarah')
вызывает функцию 
greet_user()
и передает ей строку 
'sarah'
, в результате чего будет выведено сообщение 
Hello,
Sarah!
Функцию 
greet_user()
можно вызвать сколько угодно раз и передать ей 
любое имя на ваше усмотрение — и вы будете получать ожидаемый результат.


Передача аргументов
145
Аргументы и параметры
Функция 
greet_user()
определена так, что для работы она должна получить зна-
чение переменной 
username
. После того как функция будет вызвана и получит не-
обходимую информацию (имя пользователя), она выведет правильное приветствие.
Переменная 
username
в определении 
greet_user()
— 
параметр
, то есть условные 
данные, необходимые функции для выполнения ее работы. Значение 
'jesse'
в 
greet_user('jesse')
— 
аргумент
, то есть конкретная информация, переданная 
при вызове функции. Вызывая функцию, вы заключаете значение, с которым 
функция должна работать, в круглые скобки. В данном случае аргумент 
'jesse'
был передан функции 
greet_user()
, а его значение было сохранено в переменной 
username
.


Достарыңызбен бөлісу:
1   ...   104   105   106   107   108   109   110   111   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет