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

# Native string operations

These `str` operations have fast, optimized implementations. Other string operations use generic implementations that are often slower.

## Construction

- String literal

- `str(x: int)`

- `str(x: object)`

## Operators

- Concatenation (`s1 + s2`)

- Indexing (`s[n]`)

- Slicing (`s[n:m]`, `s[n:]`, `s[:m]`)

- Comparisons (`==`, `!=`)

- Augmented assignment (`s1 += s2`)

## Methods

- `s.encode()`

- `s.encode(encoding: str)`

- `s.encode(encoding: str, errors: str)`

- `s1.endswith(s2: str)`

- `s.join(x: Iterable)`

- `s.replace(old: str, new: str)`

- `s.replace(old: str, new: str, count: int)`

- `s.split()`

- `s.split(sep: str)`

- `s.split(sep: str, maxsplit: int)`

- `s1.startswith(s2: str)`

Note

bytes.decode() is also optimized.

## Formatting

A subset of these common string formatting expressions are optimized:

- F-strings

- `"...".format(...)`

- `"..." % (...)`

## Functions

- `len(s: str)`

- `ord(s: str)`