Модуль builtins обеспечивает прямой доступ ко всем встроенным функции, классы и исключениям Micropython.

Этот модуль не нужно подключать через import.

Функции

abs

Функция abs(x) возвращает абсолютное значение числа x.

  print(abs(-5))  # 5
print(abs(10.5))  # 10.5
  

all

Функция all(iterable) возвращает True, если все элементы в iterable истинны (или если iterable пуст).

  print(all([1, 2, 3]))  # True
print(all([0, 1, 2]))  # False
  

any

Функция any(iterable) возвращает True, если хотя бы один элемент в iterable истинен. Если iterable пуст, возвращает False.

  print(any([0, 0, 1]))  # True
print(any([0, 0, 0]))  # False
  

bool

Функция bool(x) преобразует x в логическое значение. Возвращает False для пустых коллекций или нуля и True для всех других значений.

  print(bool(0))  # False
print(bool(1))  # True
print(bool([]))  # False
print(bool([1, 2]))  # True
  

bytearray

Класс bytearray([source[, encoding[, errors]]]) возвращает изменяемый массив байтов. Может быть создан из строк, используя указанные кодировку и ошибки.

  b = bytearray([104, 101, 108, 108, 111])
print(b)  # bytearray(b'hello')
b[0] = 72
print(b)  # bytearray(b'Hello')
  

bytes

Класс bytes([source[, encoding[, errors]]]) возвращает неизменяемую последовательность байтов. Параметры аналогичны bytearray.

  b = bytes([104, 101, 108, 108, 111])
print(b)  # b'hello'
  

callable

Функция callable(object) возвращает True, если объект object вызываем (например, функция, метод или класс).

  print(callable(len))  # True
print(callable(42))  # False
  

chr

Функция chr(i) возвращает строку, представляющую указанный Unicode код.

  print(chr(97))  # 'a'
print(chr(8364))  # '€'
  

classmethod

Функция classmethod(function) преобразует метод в метод класса, который принимает класс как первый аргумент.

  class MyClass:
    @classmethod
    def my_method(cls, param):
        print(f"Called with {param}")

MyClass.my_method('hello')  # Called with hello
  

dict

Класс dict создаёт словарь из своих аргументов.

  d = dict(a=1, b=2)
print(d)  # {'a': 1, 'b': 2}

# Или из последовательности ключ-значение
d = dict([('a', 1), ('b', 2)])
print(d)  # {'a': 1, 'b': 2}
  

dir

Функция dir([object]) возвращает список атрибутов и методов object. Если объект не указан, возвращает список имен в текущей локальной области видимости.

  print(dir())  # Выведет все имена в текущей области видимости
print(dir([]))  # Выведет все методы и атрибуты списка
  

divmod

Функция divmod(a, b) принимает два числа (a, b) и возвращает кортеж (a // b, a % b).

  print(divmod(10, 3))  # (3, 1)
  

eval

Функция eval(expression, globals=None, locals=None) выполняет строку expression как код Python.

  x = 1
print(eval('x + 1'))  # 2
  

exec

Функция exec(object[, globals, locals]) выполняет строку или объект кода в указанной области видимости.

  exec('x = 5')
print(x)  # 5
  

getattr

Функция getattr(object, name[, default]) получает значение атрибута name у object. Возвращает default, если атрибут не найден и default указан.

  class MyClass:
    a = 1

obj = MyClass()
print(getattr(obj, 'a'))  # 1
print(getattr(obj, 'b', 42))  # 42
  

globals

Функция globals() возвращает словарь, представляющий текущую глобальную область видимости.

  print(globals())  # {'__name__': '__main__', ...}
  

hasattr

Функция hasattr(object, name) проверяет наличие атрибута name в object. Возвращает True, если атрибут существует, иначе False.

  class MyClass:
    a = 1

obj = MyClass()
print(hasattr(obj, 'a'))  # True
print(hasattr(obj, 'b'))  # False
  

hash

Функция hash(object) возвращает хэш-значение объекта, если его тип поддерживает хеширование.

  print(hash('hello'))  # например, 99162322
  

id

Функция id(object) возвращает “идентификатор” объекта, который является уникальным для данного объекта на протяжении его существования.

  a = 'hello'
print(id(a))  # уникальный идентификатор, например, 140267785929840
  

int

Класс int(x=0) преобразует строку или число в целое число. Строку можно передать второй аргумент — основание системы счисления.

  print(int('1010', 2))  # 10
print(int('10'))  # 10
  

isinstance

Функция isinstance(object, classinfo) проверяет, является ли объект экземпляром класса или кортежа классов. Возвращает True, если объект является экземпляром или подклассом одного из классов, иначе False.

  class MyClass:
    pass

obj = MyClass()
print(isinstance(obj, MyClass))  # True
print(isinstance(obj, (MyClass, int)))  # True
print(isinstance(obj, int))  # False
  

issubclass

Функция issubclass(class, classinfo) проверяет, является ли класс подклассом другого класса или кортежа классов. Возвращает True, если условие выполняется, иначе False.

  class Parent:
    pass

class Child(Parent):
    pass

print(issubclass(Child, Parent))  # True
print(issubclass(Parent, Child))  # False
print(issubclass(Child, (Parent, list)))  # True
  

iter

Функция iter(object[, sentinel]) возвращает объект итератора из объекта, поддерживающего итерацию. Если указан аргумент sentinel, объект должен быть вызываемым, и итерация завершится после возвращения значения sentinel.

  lst = [1, 2, 3]
iterator = iter(lst)
print(next(iterator))  # 1
print(next(iterator))  # 2

def countdown(n):
    while n > 0:
        yield n
        n -= 1

for num in iter(countdown(3)):
    print(num)
  

len

Функция len(s) возвращает количество элементов в объекте s, которое может быть строкой, списком, кортежем и т.д.

  lst = [1, 2, 3, 4]
print(len(lst))  # 4

string = "hello"
print(len(string))  # 5
  

list

Класс list() создает новый список. Можно передать итерируемый объект для заполнения списка его элементами.

  iterable = (1, 2, 3)
lst = list(iterable)
print(lst)  # [1, 2, 3]

empty_list = list()
print(empty_list)  # []
  

locals

Функция locals() возвращает словарь текущей локальной таблицы символов.

  def local_vars_example():
    a = 1
    b = 2
    print(locals())

local_vars_example()
# Вывод: {'a': 1, 'b': 2}
  

map

Функция map(function, iterable, ...) применяет функцию ко всем элементам переданных итераторов и возвращает итератор результатов.

  def square(x):
    return x * x

nums = [1, 2, 3, 4]
squared_nums = map(square, nums)
print(list(squared_nums))  # [1, 4, 9, 16]
  

next

Функция next(iterator[, default]) извлекает следующий элемент из итератора. Если итератор завершен, возвращает значение default, если оно предоставлено, иначе вызывает StopIteration.

  iterator = iter([1, 2, 3])
print(next(iterator))  # 1
print(next(iterator))  # 2

print(next(iterator, 'конец'))  # 3
print(next(iterator, 'конец'))  # 'конец'
  

object

Класс object() является базовым классом для всех классов в Python. Он может быть использован для создания простого объекта.

  obj = object()
print(isinstance(obj, object))  # True
  

open

Функция open(file, mode='r', buffering=-1, encoding=None, ...) открывает файл и возвращает соответствующий объект файла.

  with open('example.txt', 'w') as f:
    f.write('Hello, world!')

with open('example.txt', 'r') as f:
    print(f.read())  # Hello, world!
  

ord

Функция ord(c) возвращает числовое представление для указанного символа c.

  print(ord('a'))  # 97
print(ord('A'))  # 65
  

pow

Функция pow(x, y[, z]) возвращает x в степени y. Если указан третий аргумент, возвращает x**y % z.

  print(pow(2, 3))  # 8
print(pow(2, 3, 3))  # 2 (так как 2**3 % 3 = 8 % 3 = 2)
  

print

Функция print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) выводит объекты в поток вывода.

  print('Hello', 'world', sep=', ', end='!\n')  # Hello, world!
  

range

Функция range([start,] stop[, step]) возвращает объект, который производит арифметическую прогрессию чисел.

  for i in range(1, 5):
    print(i)
# Вывод: 1 2 3 4
  

repr

Функция repr(object) возвращает строковое представление объекта.

  print(repr('Hello\nWorld'))  # 'Hello\nWorld'
  

round

Функция round(number[, ndigits]) возвращает число, округленное до заданного количества десятичных знаков.

  print(round(3.14159, 2))  # 3.14
  

set

Класс set() создает новый объект множества.

  s = set([1, 2, 3])
print(s)  # {1, 2, 3}
  

setattr

Функция setattr(object, name, value) устанавливает значение атрибута name в объекте object.

  class MyClass:
    pass

obj = MyClass()
setattr(obj, 'attr', 10)
print(obj.attr)  # 10
  

sorted

Функция sorted(iterable, *, key=None, reverse=False) возвращает новый отсортированный список из элементов iterable.

  print(sorted([3, 1, 4, 1, 5, 9]))  # [1, 1, 3, 4, 5, 9]
  

staticmethod

Декоратор staticmethod обозначает метод класса как статический, то есть не привязанный к экземпляру.

  class MyClass:
    @staticmethod
    def static_method():
        print("Это статический метод.")

MyClass.static_method()  # Это статический метод.
  

str

Функция str(object='') возвращает строковое представление объекта. Если объект не указан, возвращает пустую строку.

  print(str(123))  # '123'
print(str([1, 2, 3]))  # '[1, 2, 3]'
print(str())  # ''
  

sum

Функция sum(iterable, start=0) возвращает сумму чисел из iterable, начиная с значения start.

  print(sum([1, 2, 3]))  # 6
print(sum([1, 2, 3], 10))  # 16
  

super

Функция super([type[, object-or-type]]) возвращает прокси-объект, который делегирует вызовы метода базовому классу.

  class Parent:
    def greet(self):
        print("Hello from Parent")

class Child(Parent):
    def greet(self):
        super().greet()  # Вызов метода базового класса
        print("Hello from Child")

Child().greet()
# Output:
# Hello from Parent
# Hello from Child
  

tuple

Функция tuple([iterable]) создает кортеж из итерируемого объекта. Без аргументов возвращает пустой кортеж.

  print(tuple([1, 2, 3]))  # (1, 2, 3)
print(tuple('abc'))  # ('a', 'b', 'c')
print(tuple())  # ()
  

type

Функция type(object) возвращает тип объекта. Форма type(name, bases, dict) создает новый тип.

  print(type(123))  # <class 'int'>
print(type([1, 2, 3]))  # <class 'list'>

# Создание нового типа
MyClass = type('MyClass', (object,), {'attr': 42})
obj = MyClass()
print(obj.attr)  # 42
  

zip

Функция zip(*iterables) соединяет элементы из нескольких итерируемых объектов, создавая кортежи.

  print(list(zip([1, 2, 3], ['a', 'b', 'c'])))  # [(1, 'a'), (2, 'b'), (3, 'c')]
  

bin

Функция bin(x) возвращает строку, представляющую двоичное число x.

  print(bin(5))  # '0b101'
print(bin(-5))  # '-0b101'
  

compile

Функция compile(source, filename, mode) компилирует источник source в код, который может быть выполнен функцией exec().

  code = compile('print("Hello, World!")', '<string>', 'exec')
exec(code)  # Hello, World!
  

complex

Функция complex([real[, imag]]) создает комплексное число.

  print(complex(2, 3))  # (2+3j)
print(complex(5))  # (5+0j)
  

delattr

Функция delattr(object, name) удаляет атрибут name из объекта.

  class MyClass:
    a = 10

obj = MyClass()
delattr(obj, 'a')
# print(obj.a)  # AttributeError: 'MyClass' object has no attribute 'a'
  

enumerate

Функция enumerate(iterable, start=0) возвращает кортежи, содержащие счётчик и значение из iterable.

  for i, item in enumerate(['a', 'b', 'c']):
    print(i, item)
# Output:
# 0 a
# 1 b
# 2 c
  

execfile

Функция execfile(filename[, globals[, locals]]) выполняет Python-скрипт из файла.

  # Содержимое файла test.py: print("Hello from file")
# execfile('test.py')  # Hello from file
  

filter

Функция filter(function, iterable) создает новый итератор из значений, для которых function возвращает True.

  print(list(filter(lambda x: x % 2 == 0, range(10))))  # [0, 2, 4, 6, 8]
  

float

Функция float([x]) преобразует значение x в число с плавающей точкой.

  print(float('3.14'))  # 3.14
print(float(5))  # 5.0
  

frozenset

Функция frozenset([iterable]) создает неизменяемое множество.

  fs = frozenset([1, 2, 3])
print(fs)  # frozenset({1, 2, 3})
  

help

Функция help([object]) вызывает систему помощи для объекта или интерпретатора.

  # help(list)  # Выводит справку по объекту list
  

hex

Функция hex(x) возвращает строку, представляющую шестнадцатеричное число x.

  print(hex(255))  # '0xff'
print(hex(-42))  # '-0x2a'
  

max

Функция max(iterable, *[, key, default]) возвращает наибольший элемент из iterable.

  print(max([1, 2, 3]))  # 3
print(max('abc', key=lambda x: ord(x)))  # 'c'
  

memoryview

Функция memoryview(obj) создает новый объект, который представляет память массива.

  mv = memoryview(b'abc')
print(mv[0])  # 97
  

min

Функция min(iterable, *[, key, default]) возвращает наименьший элемент из iterable.

  print(min([1, 2, 3]))  # 1
print(min('abc', key=lambda x: ord(x)))  # 'a'
  

oct

Функция oct(x) возвращает строку, представляющую восьмеричное число x.

  print(oct(8))  # '0o10'
print(oct(-8))  # '-0o10'
  

property

Класс property(fget=None, fset=None, fdel=None, doc=None) создает управляемый атрибут класса.

  class MyClass:
    def __init__(self):
        self._x = None

    @property
    def x(self):
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

obj = MyClass()
obj.x = 10
print(obj.x)  # 10
  

reversed

Функция reversed(seq) возвращает итератор для обратного просмотра seq.

  print(list(reversed([1, 2, 3])))  # [3, 2, 1]
  

slice

Класс slice(start, stop[, step]) представляет объект среза, который используется для указания диапазона индексов.

  s = slice(1, 5, 2)
print([1, 2, 3, 4, 5][s])  # [2, 4]
  

Исключения

ArithmeticError

Исключение ArithmeticError является базовым классом всех ошибок, возникающих при арифметических операциях.

Пример использования:

  try:
    result = 10 / 0
except ArithmeticError as e:
    print("Arithmetic error occurred:", e)
  

AssertionError

Исключение AssertionError выбрасывается, когда утверждение (assert) не является истинным.

Пример использования:

  try:
    assert 2 + 2 == 5
except AssertionError as e:
    print("Assertion failed:", e)
  

AttributeError

Исключение AttributeError выбрасывается при попытке обратиться к несуществующему атрибуту объекта.

Пример использования:

  class MyClass:
    pass

obj = MyClass()
try:
    obj.attribute
except AttributeError as e:
    print("Attribute error:", e)
  

BaseException

BaseException является базовым классом всех исключений.

Пример использования:

  try:
    raise BaseException("Base error")
except BaseException as e:
    print("Caught BaseException:", e)
  

EOFError

Исключение EOFError возникает, когда считывается конец файла (или аналогичного потока), тогда как больше данных ожидалось.

Пример использования:

  try:
    input_text = input("Input something: ")
except EOFError as e:
    print("End of file error:", e)
  

GeneratorExit

Исключение GeneratorExit сигнализирует о закрытии генератора.

Пример использования:

  def my_generator():
    try:
        yield 1
    finally:
        print("Generator is closing")

gen = my_generator()
print(next(gen))
gen.close()
  

ImportError

Исключение ImportError выбрасывается, если импортирован модуль, который не был найден.

Пример использования:

  try:
    import non_existent_module
except ImportError as e:
    print("Import error:", e)
  

IndentationError

Исключение IndentationError возникает при неправильном отступе в коде.

Пример использования:

  try:
    exec("def foo():\nprint('Hello')")
except IndentationError as e:
    print("Indentation error:", e)
  

IndexError

Исключение IndexError возникает при попытке доступа к несуществующему индексу в последовательности.

Пример использования:

  data = [1, 2, 3]
try:
    value = data[5]
except IndexError as e:
    print("Index error:", e)
  

KeyError

Исключение KeyError выбрасывается при попытке получить доступ к несуществующему ключу словаря.

Пример использования:

  my_dict = {'a': 1}
try:
    value = my_dict['b']
except KeyError as e:
    print("Key error:", e)
  

KeyboardInterrupt

Исключение KeyboardInterrupt возникает при прерывании программы пользователем (например, при нажатии Ctrl+C).

Пример использования:

  try:
    while True:
        pass
except KeyboardInterrupt as e:
    print("Program interrupted")
  

LookupError

Исключение LookupError является базовым классом для IndexError и KeyError.

Пример использования:

  try:
    raise LookupError("This is a lookup error")
except LookupError as e:
    print("LookupError caught:", e)
  

MemoryError

Исключение MemoryError выбрасывается, когда программе не хватает памяти для выполнения операции.

Пример использования:

  try:
    large_list = [1] * (10**6) * (10**6)
except MemoryError as e:
    print("Memory error:", e)
  

NameError

Исключение NameError выбрасывается при попытке использования переменной, которая не объявлена.

Пример использования:

  try:
    print(undefined_variable)
except NameError as e:
    print("Name error:", e)
  

NotImplementedError

Исключение NotImplementedError сигнализирует, что абстрактный метод в базе класса требует переопределения в подклассе.

Пример использования:

  class BaseClass:
    def feature(self):
        raise NotImplementedError("Subclasses should implement this method")

class DerivedClass(BaseClass):
    def feature(self):
        return "Feature implemented"

obj = DerivedClass()
try:
    print(obj.feature())
except NotImplementedError as e:
    print(e)
  

OSError

Исключение OSError выбрасывается для сигнализации об ошибке, связанной с операционной системой (например, невозможность открыть файл).

Пример использования:

  try:
    f = open("not_existing_file.txt", "r")
except OSError as e:
    print("OS error:", e)
  

OverflowError

Исключение OverflowError выбрасывается, когда результат арифметической операции превышает допустимый диапазон.

Пример использования:

  import math
try:
    result = math.exp(1000)
except OverflowError as e:
    print("Overflow error:", e)
  

RuntimeError

Исключение RuntimeError выбрасывается, когда обнаружена ошибка, которая не попадает ни под одно другое определенное исключение.

Пример использования:

  try:
    raise RuntimeError("Runtime error occurred")
except RuntimeError as e:
    print("Runtime error:", e)
  

StopIteration

Исключение StopIteration выбрасывается при попытке получить следующий элемент после окончания итератора.

Пример использования:

  iterator = iter([1, 2, 3])
try:
    while True:
        print(next(iterator))
except StopIteration as e:
    print("StopIteration caught:", e)
  

SyntaxError

Исключение SyntaxError возникает при некорректной синтаксической конструкции в коде.

Пример использования:

  try:
    exec("if True print('Hello')")
except SyntaxError as e:
    print("Syntax error:", e)
  

SystemExit

Исключение SystemExit выбрасывается функцией sys.exit() для выхода из программы.

Пример использования:

  import sys
try:
    sys.exit("Exiting the program")
except SystemExit as e:
    print("SystemExit caught:", e)
  

TypeError

Исключение TypeError возникает при выполнении операции с несовместимыми типами.

Пример использования:

  try:
    result = '1' + 1
except TypeError as e:
    print("Type error:", e)
  

ValueError

Исключение ValueError выбрасывается, когда функция получает правильного типа аргумент с некорректным значением.

Пример использования:

  try:
    number = int('invalid')
except ValueError as e:
    print("Value error:", e)
  

ZeroDivisionError

Исключение ZeroDivisionError возникает при делении на ноль.

Пример использования:

  try:
    result = 10 / 0
except ZeroDivisionError as e:
    print("Zero division error:", e)
  

UnicodeError

Исключение UnicodeError связано с ошибками, происходящими при операциях с Unicode.

Пример использования:

  try:
    text = b'\x80abc'.decode('utf-8')
except UnicodeError as e:
    print("Unicode error:", e)
  

Ключевые слова

Ellipsis

Ключевое слово Ellipsis или ... используется в качестве заполнителя и имеет специальные применения, например, в срезах numpy.

Пример использования:

  def func(*args):
    return args

print(func(...))  # Выведет: (Ellipsis,)
  

Exception

Exception является базовым классом для всех исключений, кроме для SystemExit, KeyboardInterrupt, и GeneratorExit.

  try:
    raise Exception("An exception occurred")
except Exception as e:
    print("Exception caught:", e)
  

NotImplemented

Ключевое слово NotImplemented используется для указания, что метод не поддерживает переданную операцию между двумя типами и используется в магических методах.

  class MyNumber:
    def __eq__(self, other):
        if isinstance(other, MyNumber):
            return True
        return NotImplemented

print(MyNumber() == MyNumber())  # True
  

StopAsyncIteration

Исключение StopAsyncIteration используется для остановки асинхронного итератора.

  class AsyncIterator:
    def __init__(self, limit):
        self.current = 0
        self.limit = limit

    async def __anext__(self):
        if self.current >= self.limit:
            raise StopAsyncIteration
        else:
            self.current += 1
            return self.current

# Пример вызова асинхронного генератора должен вызываться внутри асинхронной функции