공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. |
pyton은 편리한 연산자를 많이 제공한다 C++의 연산자와 유사하나 약간의 차이가 존재한다.
1. 산술 연산자(arithmetic operator)
기본적인 산술 연산을 위해 제공되는 연산자이다.
+ | 왼쪽 항에 오른쪽 항을 더한다 |
- | 왼쪽 항에 오른쪽 항을 뺀다 |
* | 왼쪽 항에 오른쪽 항을 곱한다 |
/ | 왼쪽 항을 오른쪽 항으로 나눈다 |
% | 왼쪽 항을 오른쪽 항으로 나눈 나머지 |
** | 왼쪽 항에 오른쪽 항만큼 제곱한다 |
// | 왼쪽 항을 오른쪽 항으로 나눈 몫 |
C++의 경우 /연산을 할 때 int형일 경우 몫만 출력이 되지만 파이썬은 자동으로 자료형을 결정하기 때문에 나누기와 몫, 나머지의 경우가 나뉘어 있다.
2. 대입 연산자(assignment operators)
= | 왼쪽 항에 오른쪽 항을 대입한다 |
+= | 왼쪽 항에 오른쪽 항의 값을 더하고 왼쪽 항에 대입한다 |
-= | 왼쪽 항에 오른쪽 항의 값을 빼고 왼쪽 항에 대입한다 |
*= | 왼쪽 항에 오른쪽 항의 값을 곱하고 왼쪽 항에 대입한다 |
/= | 왼쪽 항을 오른쪽 항의 값으로 나누고 왼쪽 항에 대입한다 |
%= | 왼쪽 항을 오른쪽 항의 값으로 나눈 나머지를 왼쪽 항에 대입한다 |
**= | 왼쪽 항에 오른쪽 항의 값만큼 제곱하고 왼쪽 항에 대입한다 |
//= | 왼쪽항을 오른쪽 항의 값으로 나눈 몫을 왼쪽 항에 대입한다 |
산술 연산한 값을 변수에 저장하는 코드를 간결하게 쓰기 위해 사용한다. 연산은 산술 연산과 같지만 그 값을 변수에 저장하는 과정이 추가되었다.
예) a += b는 a = a + b와 같은 동작을 하는 코드이다.
**= 연산을 통해 a의 값인 5가 b의 값인 2만큼 제곱된 25가 a로 대입되어 a를 출력할 경우 25를 출력하고 %=을 통해 5를 2로 나눈 나머지의 값이 x에 저장되어 출력되는 모습이다.
3. 비교 연산자(comparison operator)
값의 크기를 비교하는 연산자이다. C++의 경우 값을 비교하여 참일 경우 1을 거짓일 경우 0을 반환했지만 파이썬은 참일 경우 True를 거짓일 경우 False의 bool형 값을 그대로 반환한다.
== | 왼쪽항과 오른쪽 항의 값이 같을 경우 참 |
!= | 왼쪽항과 오른쪽 항의 값이 다를 경우 참 |
> | 왼쪽항이 오른쪽 항보다 큰 경우 참 |
< | 왼쪽항이 오른쪽 항보다 작은 경우 참 |
>= | 왼쪽항이 오른쪽 항보다 크거나 같을 경우 참 |
<= | 왼쪽항이 오른쪽 항보다 작거나 같을 경우 참 |
4. 논리 연산자(logical operator)
주어진 논리 식의 참(True) 거짓(False)을 판단한다.
and | 두 항을 비교하여 둘다 참일 경우 참을 반환 한다 |
or | 두 항을 비교하여 둘중 하나라도 참인 경우 참을 반환 한다. |
not | 논리 결과를 반전시킨다. |
x | y | x and y | x or y | not(x) |
T | T | T | T | F |
T | F | F | T | F |
F | T | F | T | T |
F | F | F | F | T |
5. 비트 연산자(bitwise operator)
비트단위 논리 연산을 진행할 때 사용한다. 만약 a가 30일 경우 0001 1110으로 b가 5일 경우 0000 0101로 바꾸어 비교하는 것이다.
& | 두항의 비트를 비교 같은 자리의 비트가 모두 1일 경우 1을 반환 (비트AND) |
| | 두항의 비트를 비교 같은 자리의 비트중 1이 존재할 경우 1을 반환 (비트 OR) |
^ | 두항의 같은 자리의 비트가 서로 다를 경우 1을 반환 (비트 XOR) |
~ | 비트가 1일 경우 0으로, 0일 경우 1로 반환 (비트 NOT, 1의 보수) |
<< | 지정한 수만큼 비트를 왼쪽으로 이동 (left shift) |
>> | 지정한 수만큼 비트를 오른쪽으로 이동 (right shift) |
6. 멤버 연산(membership operator)
멤버 연산자의 경우 list안에 확인하고자 하는 값이 들어가 있는지에 대한 여부를 확인할 때 사용한다.
in | 왼쪽항이 오른쪽 리스트 안에 들어 있으면 참 |
not in | 왼쪽항이 오른쪽 리스트 안에 안들어 있으면 참 |
7. 식별 연산(identity operator)
식별 연산자는 두 항의 값이나 메모리의 위치를 비교하여 참 거짓을 반환한다.
is | 개체메모리 위치나 값이 같다면 참 |
is not | 개체메모리 위치나 값이 같지 않다면 참 |
값을 비교하는 ==으로 확인할 경우 두값이 같다고 나오지만 식별 연산자를 통해 비교할 경우 두 개의 메모리 주소가 다르기 때문에 False로 나오는 것을 확인할 수 있다.
※연산자 우선 순위
** | 지수 |
~ + - | 보수, 양수와 음수 |
* / % // | 곱하기, 나누기, 나머지, 몫 |
+ - | 덧셈과 뺄셈 |
>> << | 좌우 비트 시프트 |
& | 비트 'AND' |
^ | | 비트 'XOR'와 'OR' |
<= < > >= | 비교 연산자 |
<> == != | 비교 연산자 |
= %= /= //= -= += *= **= | 대입 연산자 |
is is not | 식별 연산자 |
in not in | 맴버 연산자 |
not or and | 논리 연산자 |
'언어 > Python' 카테고리의 다른 글
[Python 기본 공부정리] 3-4. 자료형-튜플(tuple) (0) | 2019.12.03 |
---|---|
[Python 기본 공부정리] 3-3. 자료형-리스트(list) (0) | 2019.12.01 |
[Python 기본 공부정리] 3-2. 자료형-문자열(string) (0) | 2019.11.28 |
[Python 기본 공부정리] 3-1. 자료형-숫자형(number) (0) | 2019.11.21 |
[Python 기본 공부정리] 1. 파이썬 프로그래밍 준비 단계 (0) | 2019.11.19 |
댓글