int
def int(
a: bool | float | int | str = ...,
/,
base: int = ...,
) -> int
int: convert a value to integer.
int(x[, base]) interprets its argument as an integer.
If x is an int, the result is x.
If x is a float, the result is the integer value nearest to x,
truncating towards zero; it is an error if x is not finite (NaN,
+Inf, -Inf).
If x is a bool, the result is 0 for False or 1 for True.
If x is a string, it is interpreted like a string literal;
an optional base prefix (0, 0b, 0B, 0x, 0X) determines which
base to use. The string may specify an arbitrarily large integer,
whereas true integer literals are restricted to 64 bits.
If a non-zero base argument is provided, the string is interpreted
in that base and no base prefix is permitted; the base argument may
specified by name.
int() with no arguments returns 0.
int() == 0
int(1) == 1
int(False) == 0
int(True) == 1
int('1') == 1
int('16') == 16
int('16', 10) == 16
int('16', 8) == 14
int('16', 16) == 22
int(0.0) == 0
int(3.14) == 3
int(-12345.6789) == -12345
int(2e9) == 2000000000
int("hello") # error: Cannot parse
int(float("nan")) # error: cannot be represented as exact integer
int(float("inf")) # error: cannot be represented as exact integer