Читать книгу 100 задач по Python: отладка кода - - Страница 2

Глава 2. Функции Python

Оглавление

В Python нет “команд” как отдельной сущности: обычно под этим понимают ключевые слова (keywords) и встроенные функции (built-ins). Ниже – списки с кратким синтаксисом.

Ключевые слова Python (keywords)

Литералы и логика

True, False – булевы значения

Синтаксис: x = True

None – отсутствие значения

Синтаксис: x = None

and, or, not – логические операторы

Синтаксис: a and b, a or b, not a

is, is not – тождество объектов

Синтаксис: a is b, a is not b

in, not in – принадлежность

Синтаксис: x in seq, x not in seq

Условия

if / elif / else

Синтаксис: if cond: … elif other_cond: … else: …

Циклы и управление потоком

for

Синтаксис: for item in iterable: …

while

Синтаксис: while cond: …

break – выход из цикла

Синтаксис: break

continue – следующая итерация

Синтаксис: continue

pass – пустой оператор (заглушка)

Синтаксис: pass

else в циклах – выполнится, если цикл завершился без break

Синтаксис: for x in xs: … else: …

Функции

def – объявление функции

Синтаксис: def name(params): … return value

return – возврат значения

Синтаксис: return expr / return

lambda – анонимная функция

Синтаксис: lambda args: expression

Исключения

try / except / else / finally

Синтаксис: try: … except SomeError as e: … else: … finally: …

raise – выбросить исключение

Синтаксис: raise ErrorType("message") или raise

assert – проверка утверждения

Синтаксис: assert condition, "message"

Контекстный менеджер

with – вход/выход из контекста

Синтаксис: with expr as var: …

Импорт

import

Синтаксис: import module / import module as alias

from … import …

Синтаксис: from module import name / from module import name as alias / from module import *

Классы и области видимости

class – объявление класса

Синтаксис: class Name(Base): …

global – имя из глобальной области

Синтаксис: global x

nonlocal – имя из внешней (но не глобальной) области

Синтаксис: nonlocal x

Генераторы

yield – вернуть значение из генератора

Синтаксис: yield expr

yield from – делегировать генерацию

Синтаксис: yield from iterable

Удаление

del – удалить имя/элемент/срез

Синтаксис: del name, del a[i], del a[i:j]

Асинхронность

async def – асинхронная функция

Синтаксис: async def f(): …

await – ожидание

Синтаксис: result = await coro

async for

Синтаксис: async for item in aiter: …

async with

Синтаксис: async with expr as var: …

Структурное сопоставление (Python 3.10+)

match / case

Синтаксис: match value: case pattern: … case _: …

2) Встроенные функции Python (built-in functions)

Приведение типов и конструкторы

bool(x=False)

int(x=0, base=10)

float(x=0.0)

complex(real=0, imag=0)

str(obj="")

bytes(source=b"", encoding=None, errors="strict")

bytearray(source=b"", encoding=None, errors="strict")

memoryview(obj)

list(iterable=())

tuple(iterable=())

set(iterable=())

frozenset(iterable=())

dict(mapping_or_iterable=(), kwargs)

range(stop) / range(start, stop[, step])

Числа и агрегирование

abs(x)

round(number[, ndigits])

pow(base, exp[, mod])

divmod(a, b)

sum(iterable, start=0)

min(iterable, *[, key, default]) / min(a, b, … *[, key])

max(iterable, *[, key, default]) / max(a, b, … *[, key])

Проверки и сравнения

all(iterable)

any(iterable)

isinstance(obj, classinfo)

issubclass(cls, classinfo)

callable(obj)

Последовательности, итераторы, преобразования

len(s)

sorted(iterable, *, key=None, reverse=False)

reversed(seq)

enumerate(iterable, start=0)

zip(*iterables, strict=False)

map(func, iterable, …)

filter(func, iterable)

iter(obj[, sentinel])

next(iterator[, default])

slice(stop) / slice(start, stop[, step])

Ввод/вывод

print(*objects, sep=" ", end="\n", file=None, flush=False)

input([prompt])

Атрибуты и интроспекция объектов

type(obj) / type(name, bases, dict)

id(obj)

hash(obj)

repr(obj)

format(value[, format_spec])

ascii(obj)

getattr(obj, name[, default])

setattr(obj, name, value)

hasattr(obj, name)

delattr(obj, name)

dir([obj])

Пространства имён, выполнение кода

globals()

locals()

vars([obj])

eval(expression[, globals[, locals]])

exec(object[, globals[, locals]])

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

Файлы

open(file, mode="r", buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

ООП и дескрипторы

object()

super([type[, obj]])

property(fget=None, fset=None, fdel=None, doc=None)

classmethod(function)

staticmethod(function)

Документация и отладка

help([object])

breakpoint(*args, kws)

Unicode и представления чисел

ord(c)

chr(i)

bin(x)

oct(x)

hex(x)

Асинхронные итераторы (в новых Python 3.x)

aiter(async_iterable)

anext(async_iterator[, default])

Низкоуровневый импорт

__import__(name, globals=None, locals=None, fromlist=(), level=0)

3) Часто путают с “встроенными командами”, но это синтаксис (не функции)

Операторы (не built-ins)

Арифметика: + – * / // %

Сравнение: == != < <= > >=

Побитовые: & | ^ ~ << >>

Присваивание: =, а также += -= *= /= //= %= = &= |= ^= <<= >>=

Присваивание в выражении: :=

Индексация/срезы: a[i], a[i:j], a[i:j:k]

Литералы коллекций

Список: [1, 2, 3]

Кортеж: (1, 2)

Множество: {1, 2}

Словарь: {"a": 1}

Генератор: (f(x) for x in xs)

Включения: [f(x) for x in xs if cond], {…}, {k: v …}

100 задач по Python: отладка кода

Подняться наверх