Для удобства работы, после установки интерпритатора мы имеем встроенные функции языка Python, которыми можно пользоваться без какого-либо импорта, т.е. команду import писать не надо!
Перечень основных встроенных функций:
- abs()
- max()
- min()
- pow()
- round()
- sum()
- sorted()
- reversed()
- all()
- any()
- zip()
- ord()
- chr()
- filter()
- map()
Давайте рассмотрим основные из них, и самые часто используемые:
Функция abs() – возвращает число по модулю, т.е. мы передали ей отрицательное число, а получаем всегда положительное!
[php]number = -6 new_number = abs(number) print(new_number) # получаем положительное число
Функция max() – вернет максимальный елемент списка, кортежа или множества. Можно применить ее и к строке, вернет максимальный код символа из таблицы ASCII
print(max({1,2,3})) #результат 3 print(max((1,2,3))) # результат 3 print(max("A", "B", "C")) # результат "C", так как номер "А" и "B" в таблице ASCII меньше, чем "С"
Функция min() – аналогично функции max(), только сами понимаете, возвращает минимальное значение!
Функция pow() – возводим число в степень, первым параметром передаем само число, вторым степень, в которую хотим возвести число:
print(pow(2, 3)) # число 2 в степени 3 это 8 print(pow(5, 4)) # число 5 в степени 4 это 625
Функция round() – округляет дробное число по правилам математики, первым параметром передаем округляемое число, вторым – количество знаков после точки:
print(round(15.235, 2)) #происходит округление до второго знака - 15.24 print(round(-45.5498, 1)) # происходит округление до первого знака - -45.5
Функция sum() – возвращает сумму элементов списка, кортежа или множества:
print(sum([1,1,1,2])) # сумма всех элементов списка = 5 print(sum((1,1,1,2))) # сумма всех элементов кортежа = 5 print(sum({1,1,1,2})) # сумма всех элементов множества = 3, так как это множество, и в нем на самом деле хранятся только 1 и 2
Функция sorted() – принимает итерируемый объект, и возвращает его же в отсортированном виде, по возрастанию, который мы можем сохранить в другую переменную.
my_lst = [2, 4, 1, 6, 12, 3, 17, 25] new_lst = sorted(my_lst) print(my_lst) print(new_lst)
Функция reversed() – принимает тоже итерируемый объект, и возвращает объект list_reverseiterator, и что бы получить с этого объекта list или tuple, необходимо выполнить преобразование типов, о котором мы рассказываем здесь:
my_lst = [2, 4, 1, 6, 12, 3, 17, 25] new_lst = list(reversed(my_lst)) new_tuple = tuple(reversed(my_lst)) print(new_lst) print(new_tuple)
Функция all() – возвращает bool, результат будет True только в том случае, если все элементы в передаваемом списке или кортеже будут True:
# В функцию передаем список print(all([True, True, True])) # все элементы имеют значение True, функция возвращает True print(all([True, True, True, False])) # не все элементы имеют значение True, функция возвращает False # В функцию передаем кортеж print(all((True, True, True))) # все элементы имеют значение True, функция возвращает True print(all((True, True, True, False))) # не все элементы имеют значение True, функция возвращает False
Функция any() – вернет True в том случае, если хотябы один элемент будет иметь значение True, если все будут False, тогда функция any() вернет False
# В функцию передаем список print(any([True, False, False])) # один элемент имеет значение True, функция возвращает True print(any([False, False, False])) # все элементы имееют значение False - функция возвращает False # В функцию передаем кортеж print(any((True, False, False))) # один элемент имеет значение True, функция возвращает True print(any((False, False, False))) # все элементы имееют значение False - функция возвращает False
Функция zip() – возвращает объект класса zip, к которому необходимо применить приведение типов, либо в list, либо в tuple, либо в set.
sumbols = 'abcd' number = (10, 20, 30, 40) print(list(zip(sumbols, number))) # Возвращает список тюплов [('a', 10), ('b', 20), ('c', 30), ('d', 40)] print(tuple(zip(sumbols, number))) # Возвращает тюпл, в котором элементы также тюплы (('a', 10), ('b', 20), ('c', 30), ('d', 40)) print(set(zip(sumbols, number))) # Возвращает множество тюплов {('b', 20), ('c', 30), ('d', 40), ('a', 10)}
На этом этапе, основные встроенные функции языка Python подошли к концу, но я хочу показать вам еще две функции, которые работают с таблицей ASCII, о которой говорил выше.
Функция ord() – возвращает номер символа в десятичной форме исчисления:
print(ord('A')) # значение А в таблице ASCII - 65 print(ord('B')) # значение B в таблице ASCII - 66 print(ord('C')) # значение C в таблице ASCII - 67
Именно под этими номерами и хранятся в таблице ASCII большие буквы “A”, “B”, “C”. Саму таблицу можно посмотреть здесь.
Функция chr() – возвращает символ, в зависимости от передаваемого ей номера этого символа в таблице ASCII
print(chr(65)) # значение 65 в таблице ASCII - "A" print(chr(35)) # значение 35 в таблице ASCII - "#" print(chr(64)) # значение @ в таблице ASCII - "@"
Функция len() – является универсальной (т.е. используется со всеми) итерируемыми типами: строками, списками, кортежами и словарями, возвращая количество элементов такой последовательности.
myStr = "Hello World!" print(len(myStr)) # 12
Функция filter() – принимает 2 параметра, а именно: ссылку на функцию(встроенную или пользовательскую) и итерируемый объект (список, кортеж, строку и т.п.) и возвращает итератор. Элемент будет присутвовать в итерируемом объекте в том случае, если встроенная или пользовательская функция вернула True.
letters = ['a', 'b', 'd', 'e', 'i', 'j', 'o'] # Функция возвращает True, если элемент является гласной буквой def filter_vowels(letter): vowels = ['a', 'e', 'i', 'o', 'u'] return True if letter in vowels else False filtered_vowels = filter(filter_vowels, letters) # Конвертируем в кортеж vowels = tuple(filtered_vowels) print(vowels) # ('a', 'e', 'i', 'o')
Или второй пример, с исользованием лямбда-функции в Python:
numbers = [1, 2, 3, 4, 5, 6, 7] # Лямбда-функция возвращает True для четных чисел even_numbers_iterator = filter(lambda x: (x%2 == 0), numbers) # Преобразовываем в список even_numbers = list(even_numbers_iterator) print(even_numbers) # [2, 4, 6]
Также, в качестве ссылки на функцию можно передавать None, и в таком случае, если первый парметр None, то с итерируемого объекта выбираются все элементы, значение которых при преобразовании в bool будет равно True:
random_list = [1, 'a', 0, False, True, '0'] filtered_iterator = filter(None, random_list) # Преобразовываем в список filtered_list = list(filtered_iterator) print(filtered_list) # [1, 'a', True, '0']
Функция map() – принимает ссылку на функцию и итерируемый объект, и к каждому элементу итерируемого объекта применятся функция, ссылка на которую передавалась. Такжа, может принимать несколько итерируемых объектов.
my_lst = ["1", "2", "3", "4"] res = list(map(int, my_lst)) print(res)
Важно помнить, что функция map всегда возвращает map object, который является итерируемым объектом и его необходимо либо преобразовать в список или использовать в цикле.
Что бы посмотреть все встроенные функции языка Python напишите следующее:
import builtins functions_list = [func for func in dir(builtins) if func.isalpha() and func.islower()] print(functions_list)