Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 '='와 '==' 연산자의 차이점 완벽 정리

Python의 대입 연산자(=)

Python에서 = 기호는 대입(할당, Assignment) 연산자로 정의됩니다. 이 연산자는 왼쪽에 하나의 변수가, 오른쪽에는 표현식(expression)이 위치해야 합니다. 그리고 오른쪽 표현식의 결과값이 왼쪽 변수에 저장되는 방식으로 동작합니다.

중요한 점은 변수와 표현식의 위치를 서로 바꿀 수 없다는 것입니다. 만약 순서를 반대로 작성하면 SyntaxError가 발생합니다.

>>> a=10
>>> b=20
>>> c=a+b
>>> a,b,c
(10, 20, 30)
>>> a+b=c
SyntaxError: can't assign to operator

위 예시에서 볼 수 있듯이, c=a+b처럼 올바르게 작성하면 표현식의 값인 30이 변수 c에 정상적으로 대입됩니다. 반면 a+b=c처럼 왼쪽에 표현식을 두면 Python 인터프리터는 문법 오류(SyntaxError)를 발생시킵니다.

Python의 동등 비교 연산자(==)

반면 == 기호는 비교 연산자로, '같음(equal to)' 연산자라고 부릅니다. 이 연산자는 양쪽 피연산자의 값이 서로 같으면 True를 반환하고, 다르면 False를 반환합니다.

>>> 10+2 == 10
False
>>> (10+2) == 12
True
>>> 'computer' == 'Computer'
False
>>> 'computer' == "computer"
True

예시를 살펴보면:

  • 10+2 == 10: 계산 결과 12는 10과 다르므로 False를 반환합니다.
  • (10+2) == 12: 계산 결과 12와 12가 같으므로 True를 반환합니다.
  • 'computer' == 'Computer': 문자열 비교는 대소문자를 구분하므로 False를 반환합니다.
  • 'computer' == "computer": 작은따옴표와 큰따옴표는 문자열에 영향을 주지 않으므로 True를 반환합니다.

핵심 요약

정리하면 =는 값을 변수에 저장하는 대입 연산자이고, ==는 두 값이 같은지 확인하는 비교 연산자입니다. 초보자들이 가장 흔히 저지르는 실수 중 하나가 조건문(if문)에서 == 대신 =를 사용하는 것이므로, 두 연산자의 역할을 명확히 구분해서 사용하는 것이 중요합니다.