파이썬에서의 연산자
1. 파이썬에서의 연산자 종류
대부분의 프로그래밍 언어에서는 산술, 비교, 대입, 논리의 4종류의 연산자를 포함하고 있다.
물론 개발 언어마다 어떤 연산자는 지원하고, 어떤 연산자는 지원하지 않는 경우가 존재한다.
ㅇ이번에는 대표적인 개발 언어 중 하나인 파이썬에서 지원하는 연산자에 대해 알아보도록 하겠다.
우선, 산술 연산자부터 자세하게 알아보러고 한다.
종류 | 의미 |
+ | 숫자를 더하거나 문자열을 더할 때 사용 (파이썬에서는 자동 형변환을 지원하는 범위가 자바보다 낮아서, 문자형 + 숫자형을 할 경우, 에러가 발생됨) |
- | 숫자를 뺄때 사용하는 언어(문자열에서는 사용할 수 없음) |
* | 숫자를 곱하거나 문자열을 곱할 때 사용함 예) 문자열 * 3 = 문자열문자열문자열 |
** | 거듭 제곱을 할 때 사용되는 연산자(지원하지 않는 언어가 존재하니 사용에 유의 바람) |
/ | 실수형으로 나눌 때 사용함 (몇몇 개발 언어에서는 //의 의미도 포함하여 사용함) |
// | 정수형으로 나눌 떄 사용함 |
% | 나머지를 구할 떄 사용함. |
2. 비교 연산자
이번에는 비교연산자입니다.
양쪽의 변수값을 비교하여 맞으면 TURE, 틀리면 false를 출력하는 연산자입니다.
주로 if문과 while문의 조건식에서 사용하는 경우가 많습니다.
종류 | 의미 |
== | 좌항과 우항의 값이 같다는 의미 (자바스크립트에선 ===과 ==을 구분한다는 점 유의) == : 자료형을 무시함 예) '1' == 1 -> True로 인식 === : 자료형까지 같아야 True로 인식 |
!= | 좌항과 우항의 값이 다르다는 의미 (자바스크립트에서는 !=과 !==을 구분지음) |
>,< | 좌항이 크거나 우항이 크다는 의미 |
>=, <= | 좌항이 크거나 같고, 우항이 크거나 같다는 의미 (자바스크립트와, 파이썬에선 =>, =<에 대하여 에러처리됨) |
3. 대입연산자
수식을 쓸 때보다 간결히 사용하기 위하여 사용되며 앞에서 설정한 산술연산자 뒤에 =을 붙여 나타냄.
종류 | 정의 |
= | 우항을 좌항에 대입합니다 |
+= | 좌항과 우항을 더한 값에 좌항을 대입합니다 |
-= | 좌항에서 우항을 뺸 값을 좌항에 대입합니다. |
*= | 좌항과 우항을 곱한 후 좌항에 대입합니다. |
**= | 좌항을 우항만큼 제곱하여 좌항에 대입합니다. |
/= | 좌항을 우항으로 나눈 값을 좌항에 대입합니다. |
//= | 좌항을 우항으로 나눈 값의 몫을 좌항에 대입합니다. |
%= | 좌항을 우항으로 나눈 값의 몫을 좌항에 대입합니다. |
4. 논리 연산자
'and', 'or', 'not'을 사용하여 좌항과 우항을 비교한 뒤 참, 거짓을 판별합니다.
의미 | 종류 |
and | 좌항과 우항이 모두 참일 경우 True를 리턴함 |
or | 좌항과 우항 중 하나라도 참일 경우 True |
not | 좌항과 우항 중 모두 거짓일 경우 True |
5. 증감연산자에서의 차이
파이썬을 제외한 대부분의 개발 연산자에선 ++. --라는 증감 연산자를 지원한다.
실제로 대부분의 반복문에서 for(int i = 0; i < 9; i++)의 형태로 증감 연산자를 사용하고 있다.
파이썬에선 증감연산자를 지원하지 않기 때문에 for문의 표현 방식이 조금 다른 측면이 존재한다.
대부분의 언어 | 파이썬 |
for(int i = 0; i < 9; i++) | for i in range(0,9) : |
왜냐하면 파이썬은 누구나 쉽게 읽을 수 있고, 명료한 코드를 추기하기 때문입니다.
<증감연산자>의 경우, 분명 표현식이 짧아진다는 장점을 갖고 있지만 전위인지 후위인지에 따라 실제 값이 어느 타이밍에 갱신되느냐로 많은 차이가 나타납니다. 위 같은 경우, 컴퓨터는 에러를 발생시키지 않고, 단순히 처리한 숫자의 값만 예상했던 것과 달리 나타납니다.
즉 증감연산자인 ++과 --의 경우 i+=1, i-=1로 대입연산자를 활용하여 표현하고 있습니다.