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



Pdf көрінісі
бет122/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   118   119   120   121   122   123   124   125   ...   334
Байланысты:
Изучаем Python


Глава 8 • Функции
from pizza import make_pizza as mp
mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')
Команда 
import
в этом примере назначает функции 
make_pizza()
псевдоним 
mp()
для этой программы. Каждый раз, когда потребуется вызвать 
make_pizza()
, доста-
точно включить вызов 
mp()
— Python выполнит код 
make_pizza()
без конфликтов 
с другой функцией 
make_pizza()
, которую вы могли включить в этот файл про-
граммы.
Общий синтаксис назначения псевдонима выглядит так:
from 
имя_модуля
import 
имя_функции
as 
псевдоним
Назначение псевдонима для модуля
Псевдоним также можно назначить для всего модуля. Назначение короткого 
имени для модуля — скажем, 
p
для 
pizza
— позволит вам быстрее вызывать функ-
ции модуля. Вызов 
p.make_pizza()
получается более компактным, чем 
pizza.
make_pizza()
:
import pizza as p
p.make_pizza(16, 'pepperoni')
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
Модулю 
pizza
в команде 
import
назначается псевдоним 
p
, но все функции моду-
ля сохраняют свои исходные имена. Вызов функций в записи 
p.make_pizza()
не 
только компактнее 
pizza.make_pizza()
; он также отвлекает внимание от имени 
модуля и помогает сосредоточиться на содержательных именах функций. Эти 
имена функций, четко показывающие, что делает каждая функция, важнее для 
удобочитаемости вашего кода, чем использование полного имени модуля.
Общий синтаксис выглядит так:
import 
имя_модуля
as 
псевдоним
Импортирование всех функций модуля
Также можно приказать Python импортировать каждую функцию в модуле; для 
этого используется оператор 
*
:
from pizza import *
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
Звездочка в команде 
import
приказывает Python скопировать каждую функцию из 
модуля 
pizza
в файл программы. После импортирования всех функций вы сможете 


Стилевое оформление функций
167
вызывать каждую функцию по имени без точечной записи. Тем не менее лучше не 
использовать этот способ с большими модулями, написанными другими разработ-
чиками; если модуль содержит функцию, имя которой совпадает с существующим 
именем из вашего проекта, возможны неожиданные результаты. Python обнару-
живает несколько функций или переменных с одинаковыми именами, и вместо 
импортирования всех функций по отдельности происходит замена этих функций.
В таких ситуациях лучше всего импортировать только нужную функцию или функ-
ции или же импортировать весь модуль с последующим применением точечной 
записи. При этом создается чистый код, легко читаемый и понятный. Я включил 
этот раздел только для того, чтобы вы понимали команды 
import
вроде следующей, 
когда вы встретите их в чужом коде:
from 
имя_модуля
import *
Стилевое оформление функций
В стилевом оформлении функций необходимо учитывать некоторые подробности. 
Функции должны иметь содержательные имена, состоящие из букв нижнего реги-
стра и символов подчеркивания. Содержательные имена помогают вам и другим 
разработчикам понять, что же делает ваш код. Эти соглашения следует соблюдать 
и в именах модулей.
Каждая функция должна быть снабжена комментарием, который кратко поясняет, 
что же делает эта функция. Комментарий должен следовать сразу же за определе-
нием функции в формате строк документации. Если функция хорошо документи-
рована, другие разработчики смогут использовать ее, прочитав только описание. 
Конечно, для этого они должны доверять тому, что код работает в соответствии 
с описанием, но если знать имя функции, то, какие аргументы ей нужны и какое 
значение она возвращает, они смогут использовать ее в своих программах.
Если для параметра задается значение по умолчанию, слева и справа от знака ра-
венства не должно быть пробелов:
def 
имя_функции
(
параметр
_0, 
параметр
_1='
значение_по_умолчанию
')
Те же соглашения должны применяться для именованных аргументов в вызовах 
функций:
имя_функции
(
значение
_0, 
параметр
_1='
значение
')
Документ PEP 8 (
https://www .python .org/dev/peps/pep-0008/
) рекомендует ограни-
чить длину строк кода 79 символами, чтобы строки были полностью видны в окне 
редактора нормального размера. Если из-за параметров длина определения функ-
ции превышает 79 символов, нажмите Enter после открывающей круглой скобки 
в строке определения. В следующей строке дважды нажмите Tab, чтобы отделить 
список аргументов от тела функции, которое должно быть снабжено отступом 
только на один уровень.


168
Глава 8 • Функции
Многие редакторы автоматически выравнивают дополнительные строки парамет-
ров по отступам, установленным в первой строке:
def 
имя_функции
(
параметр
_0, 
параметр
_1, 
параметр
_2,
параметр
_3, 
параметр
_4, 
параметр
_5):
тело функции
...
Если программа или модуль состоят из нескольких функций, эти функции можно 

Достарыңызбен бөлісу:
1   ...   118   119   120   121   122   123   124   125   ...   334




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

    Басты бет