Python TypeError: +에 대해 지원되지 않는 피연산자 유형: 'NoneType' 및 'Int'
-
Python의
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
-
Python에서
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
수정 -
함수 내
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
수정
Python에서 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
는 null
값이 있는 정수 값을 추가할 때 발생합니다. 이 기사에서는 Python 오류와 이를 해결하는 방법에 대해 설명합니다.
Python의 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Python 컴파일러는 데이터 유형이 다른 두 값을 조작하기 때문에 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
를 발생시킵니다. 이 경우 이러한 값의 데이터 유형은 int
및 null
이며 +
연산자의 피연산자 int
및 null
이 유효하지 않기 때문에 작업이 지원되지 않는다는 오류가 표시됩니다.
코드 예:
a = None
b = 32
print("The data type of a is ", type(a))
print("The data type of b is ", type(b))
# TypeError --> unsupported operand type(s) for +: 'NoneType' and 'int'
result = a + b
출력:
The data type of a is <class 'NoneType'>
The data type of b is <class 'int'>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
위 프로그램의 출력에서 볼 수 있듯이 a
의 데이터 유형은 NoneType
이고 b
의 데이터 유형은 int
입니다. a
및 b
변수를 추가하려고 하면 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
가 발생합니다.
다음은 데이터 유형이 다르기 때문에 TypeError를 일으키는 몇 가지 유사한 경우입니다.
# Adding a string and an integer
a = "string"
b = 32
a + b # --> Error
# Adding a Null value and a string
a = None
b = "string"
a + b # --> Error
# Adding char value and a float
a = "D"
b = 1.1
a + b # --> Error
Python에서 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
수정
null
을 사용하여 산술 연산을 수행할 수 없으며 위의 프로그램은 오류를 발생시키는 것으로 나타났습니다. 또한 유사한 경우가 있으면 산술 연산이나 기타 원하는 작업을 수행하기 전에 값을 형 변환합니다.
이 오류를 수정하려면 유효한 데이터 유형을 사용하여 산술 연산을 수행하거나 값을 유형 변환하거나 함수가 null
값을 반환하는 경우 try-catch
블록을 사용하여 프로그램 충돌을 방지할 수 있습니다.
코드 예:
a = "Delf"
b = "Stack"
print("The data type of a is ", type(a))
print("The data type of b is ", type(b))
result = a + b
print(result)
출력:
The data type of a is <class 'str'>
The data type of b is <class 'str'>
DelfStack
보시다시피 a
와 b
에 대한 유사한 데이터 유형이 있습니다. 두 변수의 특성이 동일하기 때문에 오류 없이 완벽하게 연결됩니다.
함수 내 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
수정
코드 예:
def sum_ab(a, b=None):
# TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
return a + b
sum_ab(3)
출력:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
위의 코드에서 sum_ab()
함수는 두 개의 인수 a
와 b
를 갖고 있으며, b
는 기본 인수로 null
값으로 할당되어 있으며 함수는 a
와 b
의 합을 반환합니다.
sum_ab(3)
매개변수 하나만 제공했다고 가정해 보겠습니다. 이 기능은 위의 예에서 볼 수 있듯이 추가할 수 없는 None
에 대한 기본 매개변수를 자동으로 트리거합니다.
이 경우 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
를 발생시킨 함수가 무엇인지 확실하지 않은 경우 try-catch
메커니즘을 사용하여 이러한 오류를 극복할 수 있습니다.
코드 예:
try:
def sum_ab(a, b=None):
return a + b
sum_ab(3)
except TypeError:
print(
" unsupported operand type(s) for +: 'int' and 'NoneType' \n The data types are a and b are invalid"
)
출력:
unsupported operand type(s) for +: 'int' and 'NoneType'
The data types are a and b are invalid
try-catch
블록은 오류를 해석하고 프로그램 충돌을 방지하는 데 도움이 됩니다.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.