Встроенные функции языка Python

Для удобства работы, после установки интерпритатора мы имеем встроенные функции языка Python, которыми можно пользоваться без какого-либо импорта, т.е. команду import писать не надо!

Перечень основных встроенных функций:

  1. abs()
  2. max()
  3. min()
  4. pow()
  5. round()
  6. sum()
  7. sorted()
  8. reversed()
  9. all()
  10. any()
  11. zip()
  12. ord()
  13. chr()
  14. filter()
  15. 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)
Рейтинг
( 2 оценки, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Комментарии: 1
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: