용어정리
연산자는 쉽게
파이썬에서 숫자를 더하거나 나누는 등 연산을 서포트 해주기 위함이다.
기본적인 연산자는 알기 쉽고 개인적으로 어려웠던 연사자 들에 대해서 정리하겠다.
산술연산자
연산자
|
기능
|
예시
|
결과
|
+
|
덧셈
|
3 + 2
|
5
|
- |
뺄셈
|
5 - 2
|
3
|
*
|
곱셈
|
4 * 3
|
12
|
/
|
나눗셈
|
10 / 2
|
5.0
|
%
|
나머지
|
7 % 2
|
1
|
**
|
거듭제곱
|
2 ** 3
|
8
|
//
|
몫
|
7 // 3
|
2
|
나눗셈, 나머지 와 몫을 기억하자!
비교연산자
두 값을 비교하여 참(True) 또는 거짓(False)를 반환한다.
연산자
|
기능
|
예시
|
결과
|
==
|
값이 같음
|
3 == 3
|
True
|
!= |
값이 다름
|
3 != 3
|
True
|
>
|
큼
|
5 > 2 |
True
|
<
|
작음
|
2 < 5
|
True
|
>=
|
크거나 같음
|
5 >= 5
|
True
|
<=
|
작거나 같음
|
4 <= 5
|
True
|
논리연산자
연산자
|
기능
|
예시
|
결과
|
and
|
두 조건이 모두 참일 때
|
True and False
|
False
|
or |
두 조건 중 하나라도 참일 때
|
True or False
|
True
|
not
|
논리값을 반대로 뒤집음
|
not True
|
False
|
대입연산자
대입 연산자는 변수의 값을 할당할때 사용.
연산자
|
기능
|
예시
|
결과
|
=
|
값 할당
|
x = 5
|
x = 5
|
+=
|
더한 후 할당
|
x += 3
|
x = x + 3
|
-+
|
뺀 후 할당
|
x -= 3
|
x = x - 3
|
*=
|
곱한 후 할당
|
x *= 3
|
x = x * 3
|
/+
|
나눈 후 할당
|
x /= 3
|
x = x / 3
|
%=
|
나머지를 구한 후 할당
|
x %= 3
|
x = x % 3
|
**=
|
거듭제곱 후 할당
|
x ** 3
|
x = x ** 3
|
//=
|
몫을 구한 후 할당
|
x //= 3
|
x = x //= 3
|
비트연산자
연산자
|
기능
|
예시
|
결과
|
&
|
비트 AND
|
5 & 3
|
1
|
| |
비트 OR
|
5 | 3
|
7
|
^
|
비트 XOR
|
5 ^ 3
|
6
|
~
|
비트 NOT (보수)
|
~ 5
|
-6
|
<<
|
왼쪽 시프트 (Left Shift)
|
5 << 1
|
10
|
>>
|
오른쪽 시프트 (Right Shift)
|
5 >> 1
|
2
|
AND ( & )
and 는 2진법 상으로 같은 값을 찾는다.
bit = 5 & 3
5는 101, 3은 011 이니까, 동시에 1은 001 이므로 001이 겹친다.
>> 1
OR ( | )
or의 기호는 shift \ 이다. 즉 파일의 위치를 구할때의 그것.
or은 모든 1을 찾는다.
bit = 5 | 3
5는 101, 3은 011 이니까, 모든 1은 111이다.
>> 7
XOR ( ^ )
xor은 동시에 1인 값을 제외하고, 둘중 한개만 1인 값을 찾는다.
bit = 5 ^ 3
5는 101, 3은 011 이니까, 둘중 한개만 1인 값은 110이다.
>> 6
NOT ( ~ )
not은 보수를 의미한다.
not은 비트를 반전 시키는 연산자 이다.
5는 101이지만, 앞에 부호 비트가 생략되어 있다. 이는 쉽게 0000 0101로 나타내보자.
비트를 반전을 시키게 되면, 1111 1010이 될 것이다. 이때 부호비트가 1이므로 2의 보수를 사용해서 양수로 변환시켜야한다.
2의 보수는 반전을 시킴과 동시에 +1을 해주면 된다. 즉 반전을 2번 하기보다 +1을 하는것이 맞다.
0000 0101 > 1111 1010 > 0000 0110
bit = ~5
>> bit = -6
반대로 음수로 가보자
5는 101이지만 음수인0000 0101이다. 이를 2의 보수로 먼저 변경. 1111 1011이 된다. 이에 반전을 시키면 0000 0100이 된다.
0000 0101 > 1111 1011 > 0000 0100
bit = ~-5
>> bit = 4
왼쪽 시프트 ( << )
이는 비트를 좌측으로 이동시킨다.
5를 1만큼 왼쪽으로 쉬프트 시키면 된다.
101을 왼쪽으로 1만큼 이동시켜서 1010.
bit = 5 << 1
>> bit = 10
오른쪽 시프트 ( >> )
이는 비트를 우측으로 이동시키는데, 0 이하는 잘라버린다.
5를 1만큼 오른쪽으로 쉬프트 시키면 된다.
101을 우측으로 1만큼 이동 시켜서 10.
bit = 5 >> 1
>> bit = 2
멤버십연산자
멤버십 연산자는 특정 갑이 컬렉션 타입에 속해 있는지 확인한다.
연산자
|
기능
|
예시
|
결과
|
in |
시퀀스에 값이 포함되어 있는지 확인
|
"a" in "apple"
|
True
|
not in
|
시퀀스에 값이 포함되어 있지 않은지 확인
|
"b" not in "apple"
|
True
|
in/not in
num = [1,2,3]
a = 1
a in num = True
a not in num = False
식별연산자
식별 연산자는 두 변수가 동일한 객체인지 확인한다.
연산자
|
기능
|
예시
|
결과
|
is |
두 변수가 동일 객체인지 확인
|
a is b
|
True or False
|
is not
|
두 변수가 동일하지 않은 객체인지 확인
|
a is not b
|
True or False
|
is/ is not
num1 = [1,2,3]
num2 = [1,2,3]
num3 = num1
num1 is num3 True
num1 is num2 False
num1 == num2 True
== 와 is 의 차이는 == 는 값이 같다는 것이고 is는 말그대로 똑같냐 이거의 차이이다.
'용어정리 > Python' 카테고리의 다른 글
python 용어정리 (조건문) (0) | 2024.09.30 |
---|---|
python 용어정리 (반복문) (0) | 2024.09.30 |
python 용어정리 (컬렉션) (0) | 2024.09.30 |
python 용어정리 (데이터 타입) (0) | 2024.09.30 |
python 용어정리 (변수와 메모리) (1) | 2024.09.30 |