TypeError: неверный тип операнда для унарного +: ‘str’ обычно возникает, когда операнд, переданный унарному оператору, имеет неверный тип данных.
Чтобы исправить ошибку TypeError: bad operand type for unary +: 'str' в Python, преобразуйте строку в числовое значение с помощью функции «int()» или «float()».
Воспроизведение ошибки
|
1 2 3 4 |
a = "19" b = +a print(b) |
Выход
|
1 |
TypeError: bad operand type for unary +: 'str' |
В этом коде мы добавляем унарный оператор + к неправильной строке, и поэтому он выдает TypeError, поскольку нет смысла добавлять оператор + к строковому значению.
Как исправить
Вот три способа исправить ошибку TypeError: неправильный тип операнда для унарного+: ‘str’.
Решение 1: преобразование строки в числовое значение с использованием int или float
|
1 2 3 4 5 6 7 8 |
a = "19" a_int = int(a) b = +a_int print(b) |
Выход
|
1 |
19 |
Решение 2: использование оператора конкатенации + для строк
Чтобы объединить строки в Python, вы можете использовать оператор +.
|
1 2 3 4 5 6 |
a = "19" b = "21" c = a + b print(c) |
Выход
|
1 |
1921 |
Решение 3: проверьте тип объекта перед выполнением операции
Вы можете использовать функцию type() для проверки типа объекта перед выполнением строковой операции.
|
1 2 3 4 5 6 |
data = 21 if type(data) == str: print("data is a string") else: print("data is not a string") |
Выход
|
1 |
data is not a string |
