1452
правки
Изменения
м
→Основные положения
Как интерпретатор приводит типы:
1. При использовании значения как параметр функции интерпретатор автоматически приводит значение к типу, необходимому функции.
2. При операциях сложения, а также логических операциях, операнды приводятся к строке если хотя бы один из них имеет тип «строка». Например:
3.3+5 -> 8.3
подобную проблему можно решить принудительно преобразовав тип:
float(‘3.3’)+5 -> 8.3
3. При операциях умножения, деления и вычитания операнды приводятся к числу с плавающей точкой, однако если результат выполнения операции получается целым числом, то он приводится к целочисленному типу.
Как работают функции приведения типов:
1. При преобразовании строки к числу: функция «читает» строку до первого символа, не позволяющего создать число с плавающей точкой, при этом разделителем целой и дробной частей может быть как точка так и запятая. Если приведение производится к целочисленному типу, то после этого происходит округление. Например:
float('3.6qwerty735') -> 3.6
int('3.6qwerty735') -> 4
2. При преобразовании к булевому типу ложью считается пустая строка либо число 0, все остальное - истина
3. При преобразовании булевого типа к числу истина преобразуется в 1, ложь – в 0. Такое преобразование позволяет использовать сложение и умножение в качестве логических «ИЛИ» и «И» соответственно:
if((5=5)+(6=7), <a>, [b]) – условие истинно, выполнится код «a».
4. При преобразовании булевого типа к строке сначала происходит преобразование к числу:
(5=5)+'qwerty' -> ‘1qwerty’