You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
265 lines
11 KiB
265 lines
11 KiB
---
|
|
title: Python. Функции
|
|
description: Интерпретатор Python имеет ряд встроенных функций и типов, которые всегда доступны.
|
|
date: '2021-10-24'
|
|
---
|
|
|
|
# abs(x)
|
|
|
|
Возвращает абсолютное значение числа. Аргументом может быть целое число, число с плавающей запятой или реализация объекта __abs__().
|
|
Если аргумент является комплексным числом, возвращается его величина.
|
|
|
|
## Пример
|
|
|
|
```python
|
|
print(abs(-4))
|
|
|
|
# 4
|
|
```
|
|
|
|
***
|
|
|
|
|
|
# bin(x)
|
|
Преобразование целого числа в двоичную строку с префиксом “0b”.
|
|
|
|
Результатом является допустимое выражение Python.
|
|
Если X не является intобъектом Python, он должен определить __index__() метод, который возвращает целое число. Некоторые примеры:
|
|
```python
|
|
print(bin(7))
|
|
|
|
# 0b111
|
|
```
|
|
|
|
***
|
|
|
|
# chr(i)
|
|
Возвращает строку, представляющую символ, кодовой точкой которого в Юникоде является целое число i.
|
|
Например, chr(97)возвращает строку 'a', в то время chr(8364)как возвращает строку '€'. Это обратное ord().
|
|
|
|
```python
|
|
print(chr(97))
|
|
|
|
# a
|
|
```
|
|
|
|
***
|
|
|
|
# ord(i)
|
|
Учитывая строку, представляющую один символ Юникода, верните целое число, представляющее кодовую точку Юникода этого символа.
|
|
Например, ord('a') возвращает целое 97 число и ord('€') (знак евро) возвращает 8364. Это обратное chr().
|
|
|
|
```python
|
|
print(ord('a'))
|
|
|
|
# 97
|
|
```
|
|
|
|
***
|
|
|
|
# dir(i)
|
|
Без аргументов возвращает список имен в текущей локальной области. С помощью аргумента попытайтесь вернуть список допустимых атрибутов для этого объекта.
|
|
|
|
```python
|
|
|
|
class Shape:
|
|
def __dir__(self):
|
|
return ['area', 'perimeter', 'location']
|
|
s = Shape()
|
|
print(dir(s))
|
|
|
|
# ['area', 'location', 'perimeter']
|
|
```
|
|
|
|
***
|
|
|
|
# divmod(i, j)
|
|
Функция divmod() возвращает кортеж, содержащий частное и остаток. Не поддерживает комплексные числа.
|
|
Со смешанными типами операндов применяются правила для двоичных арифметических операторов.
|
|
|
|
Для целых результат аналогичен (a // b, a % b).
|
|
|
|
```python
|
|
print(divmod(5, 3))
|
|
|
|
# (1, 2 )
|
|
```
|
|
|
|
***
|
|
|
|
# eval()
|
|
Аргументами являются строка и необязательные глобальные и локальные переменные. Если предусмотрено, глобальные должен быть словарь.
|
|
Если предусмотрено, локальные может быть любым объектом сопоставления.
|
|
|
|
```python
|
|
x = 1
|
|
print(eval('x + 1'))
|
|
|
|
# 2
|
|
```
|
|
|
|
***
|
|
|
|
# float()
|
|
Возвращает число с плавающей запятой, построенное из числа или строки x.
|
|
|
|
```python
|
|
print(float('+1.23'))
|
|
# 1.23
|
|
|
|
print(float('-Infinity'))
|
|
# -inf
|
|
```
|
|
|
|
***
|
|
|
|
# help()
|
|
Вызовите встроенную справочную систему.
|
|
|
|
```python
|
|
print(help())
|
|
# Welcome to Python 3.10's help utility!
|
|
|
|
print(help('abs'))
|
|
# abs(x, /)
|
|
# Return the absolute value of the argument.
|
|
```
|
|
|
|
***
|
|
|
|
# hex(x)
|
|
|
|
Преобразуйте целое число в строчную шестнадцатеричную строку с префиксом “0x”.
|
|
Если x не является intобъектом Python, он должен определить __index__()метод, который возвращает целое число. Некоторые примеры:
|
|
|
|
```python
|
|
print(hex(255))
|
|
# 0xff
|
|
|
|
```
|
|
|
|
***
|
|
|
|
# len(x)
|
|
Возвращает длину (количество элементов) объекта.
|
|
Аргументом может быть последовательность (например, строка, байты, кортеж, список или диапазон) или коллекция (например, словарь, набор или замороженный набор).
|
|
|
|
```python
|
|
x = [1,2,3,4,5,6]
|
|
print(len(x))
|
|
# 6
|
|
```
|
|
|
|
***
|
|
|
|
# map(i, j)
|
|
map() перебирает элементы входного итерируемого (или итерируемых) и возвращает итератор,
|
|
который является результатом применения функции преобразования к каждому элементу в исходном входном итерируемом.
|
|
|
|
```python
|
|
def plus(a, b, c):
|
|
return a + b +c
|
|
|
|
# функция 'plus' применяется к элементам
|
|
# из всех последовательностей параллельно
|
|
x = map(plus, [1, 2], [3, 4], [5, 6])
|
|
print(list(x))
|
|
# [9, 12]
|
|
```
|
|
|
|
***
|
|
|
|
# max(x)
|
|
Возвращает самый большой элемент в итерации или самый большой из двух или более аргументов.
|
|
|
|
```python
|
|
x = [1, 3, 5, 1, 2]
|
|
|
|
print(max(x))
|
|
# 5
|
|
```
|
|
|
|
***
|
|
|
|
# min(x)
|
|
Возвращает наименьший элемент в итерируемом или наименьший из двух или более аргументов.
|
|
|
|
```python
|
|
x = [1, 3, 5, 1, 2]
|
|
|
|
print(min(x))
|
|
# 1
|
|
```
|
|
|
|
***
|
|
|
|
# open()
|
|
|
|
Открыть файл и возвращает соответствующий файловый объект. Если файл не может быть открыт, OSError возникает проблема. См. Чтение и запись файлов.
|
|
|
|
```python
|
|
f = open('workfile', 'r', encoding="utf-8")
|
|
|
|
Варианты использования режимов:
|
|
|
|
* 'r' - Открывает файл только для чтения. Указатель файла помещается в начале файла. Это режим "по умолчанию".
|
|
* 'rb' - Открывает файл в бинарном режиме только для чтения. Указатель файла помещается в начале файла. Это режим "по умолчанию".
|
|
* 'r+' - Открывает файл для чтения и записи. Указатель файла помещается в начало файла.
|
|
* 'rb+' - Открывает файл в бинарном режиме для чтения и записи. Указатель файла помещается в начале файла. Это режим "по умолчанию".
|
|
* 'w' - Открывает файл только для записи. Перезаписывает файл, если файл существует. Если файл не существует, создает новый файл для записи.
|
|
* 'wb' - Открывает файл в бинарном режиме только для записи. Перезаписывает файл, если файл существует. Если файл не существует, создает новый файл для записи.
|
|
* 'w+' - Открывает файл для записи и чтения. Перезаписывает существующий файл, если файл существует. Если файл не существует, создается новый файл для чтения и записи.
|
|
* 'wb+' - Открывает файл в бинарном режиме для записи и чтения. Перезаписывает существующий файл, если файл существует. Если файл не существует, создается новый файл для чтения и записи.
|
|
* 'a' - Открывает файл для добавления. Указатель файла находится в конце файла, если файл существует. То есть файл находится в режиме добавления. Если файл не существует, он создает новый файл для записи.
|
|
* 'ab' - Открывает файл в бинарном режиме для добавления. Указатель файла находится в конце файла, если файл существует. То есть файл находится в режиме добавления. Если файл не существует, он создает новый файл для записи.
|
|
* 'a+' - Открывает файл для добавления и чтения. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи.
|
|
* 'ab+' - Открывает файл в бинарном режиме для добавления и чтения. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи.
|
|
|
|
print(f.read())
|
|
# 1
|
|
```
|
|
|
|
***
|
|
|
|
# sorted()
|
|
|
|
Функция sorted() возвращает новый отсортированный список итерируемого объекта (списка, словаря, кортежа). По умолчанию она сортирует его по возрастанию.
|
|
|
|
```python
|
|
x = [1, 3, 5, 1, 2]
|
|
|
|
print(sorted(x))
|
|
|
|
# [1, 1, 2, 3, 5]
|
|
```
|
|
|
|
***
|
|
|
|
# sum()
|
|
|
|
Суммирует начало и элементы итерации слева направо и возвращает итоговое значение.
|
|
Элементы итерации обычно представляют собой числа, а начальное значение не может быть строкой.
|
|
|
|
```python
|
|
x = [1, 3, 5, 1, 2]
|
|
|
|
print(sum(x))
|
|
|
|
# 12
|
|
```
|
|
|
|
***
|
|
|
|
# zip()
|
|
Выполняйте параллельную итерацию по нескольким итерациям, создавая кортежи с элементом из каждого.
|
|
|
|
```python
|
|
for item in zip([1,2,3], ['sugar', 'spice', 'everything nice']):
|
|
print(item)
|
|
|
|
# (1, 'sugar')
|
|
# (2, 'spice')
|
|
# (3, 'everything nice')
|
|
|
|
```
|
|
|
|
|