Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# Miscellaneous native operations

This is a list of various non-type-specific operations that have custom native implementations. If an operation has no native implementation, mypyc will use fallback generic implementations that are often not as fast.

Note

Operations specific to various primitive types are described in the following sections.

## Operators

- `x is y` (this is very fast for all types)

## Functions

- `isinstance(obj, type: type)`

- `isinstance(obj, type: tuple)`

- `cast(<type>, obj)`

- `type(obj)`

- `len(obj)`

- `abs(obj)`

- `id(obj)`

- `iter(obj)`

- `next(iter: Iterator)`

- `hash(obj)`

- `getattr(obj, attr)`

- `getattr(obj, attr, default)`

- `setattr(obj, attr, value)`

- `hasattr(obj, attr)`

- `delattr(obj, name)`

- `slice(start, stop, step)`

- `globals()`

## Method decorators

- `@property`

- `@staticmethod`

- `@classmethod`

- `@abc.abstractmethod`

## Statements

These variants of statements have custom implementations:

- `for ... in seq:` (for loop over a sequence)

- `for ... in enumerate(...):`

- `for ... in zip(...):`