Создание собственных функций

<aside> 💡 Функция — это некий кусок программы, имеющий собственное название.

</aside>

Посмотрим, как можно создать свою функцию:

def *имя_функции*(*аргументы*):
	*тело_функции*

Заметьте, что тело функции также выделяется отступом.

Посмотрим на простой пример:

def get_sum(x, y):
	print(f"{x} + {y} = {x + y}")

get_sum(5, 7)  # Выведется "5 + 7 = 12"
get_sum(9, 15) # Выведется "9 + 15 = 24"

Здесь мы определили функцию get_sum, которая принимает два аргумента, x и y, и выводит их сумму.

Чтобы вернуть из функции какое-то значение, используется ключевое слово return:

def get_sum(x, y):
	print(f"{x} + {y} = {x + y}")
	return x + y

s1 = get_sum(5, 7)  # Выведется "5 + 7 = 12"
s2 = get_sum(9, 15) # Выведется "9 + 15 = 24"

print(s1, s2)       # Выведется "12 24"

Чтобы указать значение какого-либо из аргументов по умолчанию, достаточно в списке аргументов присвоить ему значение. Обратите внимание, что аргументы со значениями по умолчанию должны идти в конце:

def get_sum(x, y=0):
	print(f"{x} + {y} = {x + y}")

get_sum(5, 7) # Выведется "5 + 7 = 12"
get_sum(9)    # Выведется "9 + 0 = 9"

Обзор встроенных функций

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

Напомним, что есть набор функций для конвертации значений одних типов в другие:

print(int('5'))             # Выведется число 5
print(int('ABCD', base=16)) # Выведется число 43981
print(float('3.14'))        # Выведется число 3.14
print(bool(0))              # Выведется False

print(list(range(3)))       # Выведется [0, 1, 2]
print(tuple(range(3)))      # Выведется (0, 1, 2)
print(str(99))              # Выведется строка "99"
print(set(range(5)))        # Выведется {0, 1, 2, 3, 4}

Большой интерес представляет функция для перевода чего-либо (обычно строки) в целое число. Она может перевести в число с основанием 10 любое число с основаниями от 2 до 36, только надо указать основание с помощью специального аргумента base.

Говоря о системах счисления, можно вспомнить функции, которые конвертируют десятичное число в двоичное, восьмеричное и шестнадцатеричное:

x = 87

print(bin(x)) # 0b1010111
print(oct(x)) # 0o127
print(hex(x)) # 0x57