Существует очень большая степень неопределенности с такими операциями. Предположим, что вместо этого:
a = '4'
b = 1
print(a + b)
Непонятно, нужно ли a
приводить к целому числу (в результате 5
) или b
приводить к строке (в результате '41'
). Поскольку правила жонглирования типов являются транзитивными, передача числовой строки в функцию, ожидающую числа, может привести к неприятностям, тем более что почти все арифметические операторы перегружают операции и для строк.
Например, в Javascript, чтобы убедиться, что вы имеете дело с целыми числами, а не со строками, обычной практикой является умножение переменной на единицу; в Python оператор умножения повторяет строки, поэтому '41' * 1
не используется. Возможно, лучше просто попросить разработчика уточнить.