Python Функции

Python Функции — многократно используемые фрагменты кода.

Python Функции, как и всё в языке Python,  являются объектами и применяются для того, чтобы хранить неоднократно используемые фрагменты кода.

Привожу самую важную информацию о функциях:

Пользовательские функции

Функция — это фрагмент кода, который можно вызвать из любого места программы.

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

11.1. Создание функции и её вызов

Функция оnисывается с nомощью ключевого слова def no следующей схеме:
def <Имя функции> ( [ <Параметры>] ) :
‘    [""" Строка документирования """]
‘    <Тело функции>
‘    [return <Значение>]

В начале трёх строк вынужден поставить (‘    ), то есть апостроф с 4-мя пробелами, так как WordPress выкидывает пробелы из начала строк.

Имя функции должно быть уникальным идентификатором, состоящим из латинских букв, цифр и знаков подчеркивания, причём имя функции не может начинаться с цифры.

В качестве имени нельзя использовать ключевые слова, кроме того, следует избегать совпадений с названиями встроенных идентификаторов. Регистр символов в названии функции имеет значение.

После имени функции в круглых скобках можно указать один или несколько параметров через запятую. Если функция не принимает параметры, то просто указываются круглые скобки.

После круглых скобок ставится двоеточие.

Тело функции является составной конструкцией. Как и в любой составной конструкции, инструкции внутри функции выделяются одинаковым количеством пробелов слева.

Концом функции считается инструкция, перед которой меньшее количество пробелов.

Если тело функции не содержит инструкций, то внутри необходимо разместить оператор pass.

Этот оператор удобно использовать на этапе отладки программы, когда мы определили функцию, а тело будем дописывать позже. Пример функции, которая ничего не делает:
def func (): pass

Необязательная инструкция return позволяет вернуть значение из функции. После исполнения этой инструкции выполнение функции будет остановлено. Это означает, что инструкции nосле оператора return никогда не будут выполнены.

Пример:
def func():
‘    print («Текст до инструкции return»)
‘    return «Возвращаемое значение»
‘    print («Эта инструкция никогда не будет выполнена»)

print (func()) # Вызываем функцию

Результат выполнения:
Текст до инструкции return
Возвращаемое значение

Инструкции return может не быть вообще. В этом случае выполняются все инструкции внутри функции и возвращается значение None.

В качестве примера создадим три функции (листинг 11.1 ).
def print_ok():
‘    «»» Пример функции без параметров «»»
‘    print («Сообщение при удачно выполненной операции»)

def echo (m) :
‘    «»» Пример функции с параметром «»»
‘    print(m)

def summa(x, у):
‘    «»» Пример функции с параметрами, возвращающей
‘    сумму двух переменных»»»
‘    return х + у

При вызове функции значения передаются внутри круглых скобок через запятую. Если функция не принимает параметров, то указываются только круглые скобки.

Необходимо также заметить, что количество параметров в определении функции должно совпадать с количеством параметров при вызове, иначе будет выведено сообщение об ошибке.

def summa(x, y):
‘    return x + y

a, b = 110, 250
y = summa(a, b)
print (y)

Как видно из последнего примера, имя переменной в вызове функции может не совпадать с именем переменной в определении функции.

Кроме того, глобальные переменные х и у не конфликтуют с одноименными переменными в определении функции, т. к. они расположены в разных областях видимости.

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

Оператор +, используемый в функции summa (), применяется не только для сложения чисел, но и позволяет объединить последовательности. Таким образом, функция summa () может использоваться не только для сложения чисел.

В качестве примера выполним конкатенацию строк и объединение сnисков:
def summa (x, y): return x + y

print ( summa ( «str», «ing» ) )

Выведет:
string

Как Вы уже знаете, всё в языке Python является объектом, например строки, сnиски и даже сами типы данных.

Функции не являются исключением. Инструкция def создает объект, имеющий тип function, и сохраняет ссылку на него в идентификаторе, указанном nосле инструкции def.

Таким образом, мы можем сохранить ссылку на функцию в другой переменной. Для этого название функции указывается без круглых скобок. Сохраним ссылку в переменной и вызовем функцию через неё.

Можно также передать ссылку на функцию в качестве параметра другой функции. Функции, передаваемые no ссылке, обычно называются функциями обратного вызова.

Объекты функций поддерживают множество атрибутов, обратиться к которым можно, указав атрибут nосле названия функции через точку. Например, через атрибут __nаme__ можно получить название функции в виде строки, через атрибут  __doc__ — строку документирования и т. д. В качестве примера выведем названия всех атрибутов функции с помощью встроенной функции dir ():

dir(summa)

['__annotations__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__', '__getattribute__', '__globals__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__kwdefaults__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

==

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Python ФункцииПродолжение тут…

Родник_

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.