Функции в Python

Функции это набор инструкций выполняющих какие-то действия.

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

Определение пользовательской функции начинается с ключевого слова def имя_функции([аргументы]):. Строка с объявлением функции должна заканчиваться двоеточием после закрывающейся круглой скобки. Если функция возвращает значение в ее теле будет оператор return после которого должна идти переменная, тип и значение которой функция возвращает. Приведем несколько примеров:


def out(): # Определение пользовательской функции out()
    print('Пользовательская функция без аргументов') # Действие функции out(). Вызыывается внешняя функция print()
    print('и возвращаемого значения') # В блок функции out может входить множество строчек кода
out() # Вызов пользовательской функции out(). Будет выведено в консоль 2 строчки из функций print() 

def out1(name): # Определение пользовательской функции out1() с одним аргументом name
    print(name) # Действие функции out(). Выводим аргумент name
out1('Victor')  # Вызов пользовательской функции out1(). Будет выведено в консоль Victor   
out1('Анна')    # Функции можно вызывать множество раз с разными аргументами. Будет выведено в консоль Анна 

def out2(name, age): # Определение пользовательской функции out2() с двумя аргументами name и age
    print(f'имя={name}, возраст={age}')      # Действие функции out2(). Выводим аргументы name и age
out2('Victor', 43)       # Вызов пользовательской функции out2(). Будет выведено в консоль имя=Victor, возраст=43  
out2('Анна', 42)         # Функции можно вызывать множество раз с разными аргументами. Будет выведено в консоль имя=Анна, возраст=42  

def add(x, y):   # Определяем пользовательскую функцию add() с двумя аргументами
    return x + y # Функция add() возвращает значение - сумму аргументов x и y
sum = add(3, 2)  # sum = 5  Вызов функции add и присваивание переменной sum возвращаемого значения функции
print(sum)       # 5 Выводим значение sum 

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


name = 'Виктор'          # Строковая переменная name типа str со значением Виктор
name_caps = name.upper() # Вызываем встроенную функцию upper() для класса строк. Переводит строку в верхний регистр
print(name)              # Виктор  Выводим значение переменной name. Аргумент при вызове функции не изменяется!
print(name_caps)         # ВИКТОР  Выводим значение переменной name_caps
print('Сергей'.upper())  # СЕРГЕЙ  Можно непосредственно применять методы к значениям

Соответственно функции характеризуются:

1) Названием функции;

2) Принадлежностью к классу (как например upper()) или отсутствием такой принадлежности (как например print());

3) Возвращаемым значением (есть или нет возвращаемое значение, если есть то типом возвращаемого значения);

4) Аргументами (количеством аргументов и типами аргументов).


def add(x, y): # Определяем функцию add()
    return x + y # Возвращаем сумму аргументов x и y
sum = add(3, 2) # sum = 5  Вызов фунции add и присваивание переменной sum возвращаемого значения функции

def func(x): # Возвращаем функцию из функции
    def nest_func(y): # Вложенная функция
        return x + y
    return nest_func # Возвращает функцию!
f = func(10) # f это функция
print(f(7)) # 17

def add(a, b = 2): # Необязательный аргумент (по умолчанию)
    return a + b
print(add(4, 3)) # 7
print(add(4))    # 6

def sum(*args): # Переменное число параметров. args - кортеж
    res = 0;   
    for i in range(len(args)): # Находим сумму args
        res += args[i]
    return res
print(sum(7)) # 7
print(sum(3, 1)) # 4
print(sum(3, 2.35, 10)) # 15.35
2024-06-29



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

Словари
Исключения
Файлы
Функции в Python
Списки
Циклы
Достоинства и недостатки языка Python
Целые, вещественные и комплексные числа в Python
ООП
Вывод текста
Множества
Строки
Синтаксис языка Python
Время выполнения программы на Python
Кортежи в Python
Типы данных