728x90
할당 연산자
할당 연산자란? 값을 변수에 할당할 때 사용하는 연산자이다.
연산자의 종류로는 =, +=, -=, *=, /=, %=, //=, **= 가 존재한다.
연산자 | 역할 |
= | 오른쪽 값을 왼쪽 변수에 할당한다. ex) a = 10.3 |
+= | 기존 왼쪽 변수 값과 오른쪽 변수를 더한 후 재할당한다. ex) a += 10는 a = a + 10과 같음 |
-= | 기존 왼쪽 변수 값과 오른쪽 변수를 뺀 후 재할당한다. ex) a -= 10는 a = a - 10과 같음 |
*= | 기존 왼쪽 변수 값과 오른쪽 변수를 곱한 후 재할당한다. ex) a *= 10는 a = a * 10과 같음 |
/= | 기존 왼쪽 변수 값과 오른쪽 변수를 나눈 후 재할당한다. ex) a /= 10는 a = a / 10과 같음 |
%= | 기존 왼쪽 변수 값과 오른쪽 변수를 나눈 나머지를 재할당한다. ex) a %= 10는 a = a % 10과 같음 |
//= | 기존 왼쪽 변수 값과 오른쪽 변수를 나눈 후 내림한 값을 재할당한다. ex) a //= 10는 a = a // 10과 같음 |
**= | 기존 왼쪽 변수 값을 오른쪽 변수만큼 제곱해준 후 재할당한다. ex) a **= 2는 a = a ** 2와 같음 |

- a라는 변수에 10.3이란 값을 할당한다.
- a라는 값에 10을 더한 후 다시 할당한다.
출력 값은 20.3이 된다. - a라는 값에 10을 빼준 후 다시 할당한다.
출력 값은 10.3이 된다. - a라는 값에 10을 곱해주고 다시 할당한다.
출력 값은 103이 된다. - a라는 값에 10을 나눠주고 다시 할당한다.
출력 값은 10.3이 된다. - a라는 값에 10을 나누고 나머지를 재할당한다.
출력 값은 0.30000000007이 된다. - a라는 값에 10을 나눈 후 내림한 값을 재할당한다.
출력 값은 0.0 이 된다. - a라는 변수에 2라는 값을 할당해준 후 a에 2를 제곱해준다.출력 값은 4가 된다.
항등 연산자
항등 연산자란? 같은 메모리에 있는지를 확인하는 연산자이다.

- 다음 사진의 a변수와 b변수에는 같은 값이 들어가있다.
- print(a == b) 즉, a와 b가 같냐는 문항에는 같은 값이므로 True가 출력이 된다.
- print(a is b) 즉, a와 b가 같은 메모리 주소인지를 비교하는 문항에는 False가 출력이 된다.
- print(a is a) 즉, a와 a가 같은 메모리 주소인지를 비교하는 문항에는 True가 출력이 된다.
- print(a is not b) 즉, a와 b가 같은 메모리 주소인지를 비교하지만 not이 붙어 반대로 출력되므로 True가 출력이 된다.
멤버 연산자
멤버 연산자란? 왼쪽 값이 오른쪽 컨테이너 객체의 멤버인지를 확인하는 연산자이다.

- a라는 변수 안에 리스트 형으로 1, 3, 27, 10, 72라는 값이 존재하게 만든다.
- b라는 변수에 27이란 값을 할당한다.
- c라는 변수에 9라는 값을 할당한다.
- 만약 b에 저장된 값이 a에 저장되어 있는 값에 포함되면 b가 a리스트 안에 존재합니다. 라는 문장을 출력하고
존재하지 않는다면 b가 a리스트 안에 존재하지 않습니다. 라는 문장을 출력한다. - 만약 c에 저장된 값이 a에 저장되어 있는 값에 포함되지 않는다면 c가 a리스트 안에 존재하지 않습니다. 라는 문장을 출력하고
존재한다면 c가 a리스트 안에 존재합니다. 라는 값을 출력한다. - b의 값 27은 존재하기에 b가 a리스트 안에 존재합니다. 문장을 출력하고
c의 값 9는 존재하지 않기에 c가 a리스트 안에 존재하지 않습니다. 문장을 출력한다.
비트 연산자
비트 연산자란? 비트 단위로 연산을 하는 연산자이다.
연산자의 종류로는 &, |, ^, ~, <<, >> 가 존재한다.
연산자 | 역할 |
& | 비트 연산자에서 and 의 역할을 수행해준다. |
| | 비트 연산자에서 or의 연산을 수행해준다. |
^ | 비트 연산자에서 xor의 연산을 수행해준다. |
~ | 비트 연산자에서 not의 연산을 수행해준다. |
<< | 비트 연산자에서 '왼쪽으로 비트단위 밀기' 를 수행해준다. |
>> | 비트 연산자에서 '오른쪽으로 비트단위 밀기' 를 수행해준다. |
코드를 보기전에 bin() = 2진수로 변환, oct() = 8진수로 변환, hex() = 16진수로 변환시켜준다.
이 내장함수를 사용하는 이유는 사용하지 않는다면 비트 연산자 실행 후 10진수로 출력을 하기 때문이다.
변환한 진수에 붙은 0b, 0o, 0x 는 각각 2진수, 8진수, 16진수임을 뜻한다.

- a라는 변수에 210이라는 값을, b라는 변수에 154이라는 값을 할당한다.
- print(bin(a)) a 값을 2진수화 시킨 값인 0b11010010을 출력한다.
print(bin(b)) b 값을 2진수화 시킨 값인 0b10011010을 출력한다. - print(bin(a&b)), a and b와 같은 역할을 하는 연산자이며 둘 다 참일때 1, 하나라도 거짓이면 0으로 출력해준다.
0b10010010이 출력된다. - print(bin(a|b)), a or b와 같은 역할을 하는 연산자이며 둘 중 하나라도 참일때 1, 둘 다 거짓이면 0으로 출력한다.
0b11011010이 출력된다. - print(bin(a^b)), a xor b와 같은 역할을 하는 연산자이며 둘 중 하나만 참일때 1, 아니라면 0으로 출력한다.
0b1001000(=0b01001000, 맨 앞 0은 생략된다.)이 출력된다. - print(bin(~a)), not a와 같은 역할을 하는 연산자이며 a의 값을 뒤집고 그 값에 -1을 해준다.
-0b11010011이 출력된다. - print(bin(~-a)), -a를 뒤집고 그 값에 -1을 해준다.
0b11010001이 출력된다. - print(bin(a>>2)), 왼쪽으로 2칸 비트를 밀어낸다.
0b11010010 값이 2칸 왼쪽으로 밀려 0b110100(= 0b00110100)이 출력된다. - print(bin(a<<2)), 오른쪽으로 2칸 비트를 밀어낸다.
0b11010010 값이 2칸 오른쪽으로 밀려 0b1101001000이 출력된다.
728x90
'Language > Python' 카테고리의 다른 글
7. 기본부터 다지는 파이썬 - 랜덤함수 (0) | 2022.05.05 |
---|---|
6. 기본부터 다지는 파이썬 - 숫자처리함수 (0) | 2022.05.03 |
4. 기본부터 다지는 파이썬 - 연산자 (1) (0) | 2022.04.29 |
3. 기본부터 다지는 파이썬 - 주석 (0) | 2022.04.28 |
2. 기본부터 다지는 파이썬 - 변수 (0) | 2022.04.26 |