<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