В арифметических операциях и операциях сравнения могут принимать участие любые два числа, относящиеся к встроенным типам Python.Если типы операндов различаются, выполняется автоматическое повышение типов. Python преобразует операнд "меньшего" размера к операнду "большего" размера. Числовые типы имеют следующий порядок следования "размеров" от наименьшего к наибольшему:
# числа одного типа >>> 2 + 2 >>> 4 # числа разного типа >>> 2 + 2.5 # произошло преобразование типа # от 'меньшего' порядка к 'большему' # 4.5 >>> 10 + 0.0 10.0 >>> 101 + (3+7j) # Здесь так же произошло преобразование типа # (104+7j) >>> 10 + 0j (10+0j)
Можно выполнить принудительное преобразование типов, передав аргумент, не являющийся комплексным числом, любому из классов встроенных числовых типов:
int()
для принудительного преобразования к типу int
float()
принудительное преобразование в тип float
complex()
для принудительного преобразования к типу complex
При преобразовании тип int
отбрасывает дробную часть своего аргумента, если таковая имеется, например int(9.8)
равно 9. Кроме того, можно вызвать тип complex
с двумя числовыми аргументами, представляющими действительную и мнимую части. Преобразовать таким способом комплексное число в другой числовой тип невозможно, поскольку однозначных способов преобразования комплексного числа, скажем, в число с плавающей точкой просто не существует.
Кроме того, любой встроенный числовой тип можно вызвать с передачей ему аргумента в виде строки, в которой используется синтаксис написания соответствующего числового типа. Строка может содержать ведущий и/или замыкающий пробелы, начинаться со знака +
или -
. В случае комплексных чисел - выполнять сложение или вычитание действительной и мнимой частей.
# Преобразование строки в число >>> int(' 10 ') # 10 >>> int('-9 ') # -9 >>> float(' -9.9 ') # -9.9 >>> float('9 ') # 9.0 >>> complex(' -101 ') # (-101+0j) >>> complex(' +1.01 ') # (1.01+0j) >>> complex(' -7+7j ') # (-7+7j)
Класс int()
может быть вызван с двумя аргументами. Первый- это преобразуемая строка, а второй - основание системы счисления, используемой в преобразуемой строке, в виде целого числа от 2 до 36.
# Значение ' 101 ' в системе счисления с основанием 2 >>> int ('101', 2) # 5
Для оснований систем счисления, значение которых превышает 10, недостающие дополнительные "цифры" берутся из подмножества букв начальной части алфавита, как в нижнем, так и в верхнем регистре.