Python에서 제공하는 연산자들을 살펴보자면
- 산술 연산자 (Artithmetic Operators)
- 비교 연산자 (Comparison Operators)
- 할당 연산자 (Assignment Operators)
- 논리 연산자 (Logical Operators)
- 비트 연산자 (Bitwise Operators)
- 멤버 연산자 (Membership Operators)
- 식별 연산자 (Identity Operators)
7가지의 연산자가 존재한다.
1. 산술 연산자(Arithmetic Operators)
- 산술 연산자는 모두들 잘 아는 덧셈 뺄셈 곱하기 나누기 같은 연산자를 말한다.
연산자 | 설명 |
+ | 덧셈 |
- | 뺄셈 |
* | 곱하기 |
** | 거듭 제곱 |
/ | 나누기 |
// | 나누기 연산후 소수점 이하의 수를 버리고 정수 부분의 수만 구함 |
% | 나누기 연산 후 몫이 아닌 나머지를 구함 |
- 코딩 예제
연산자 | Example | result |
+ | a = 5 b = 4 print(a + b) |
9 |
- |
a = 5 |
1 |
* |
a = 4 |
20 |
** |
a = 4 |
1024 |
/ |
a = 48 |
9.6 |
// |
a = 48 |
9 |
% |
a = 48 |
3 |
2. 비교 연산자 (Comparison Operators)
- 객체의 같음과 크고 작음과 같은 비교를 진행하는 연산자.
연산자 | 설명 | Example |
== | 값이 동일하다 | a = 4 b = 5 print(a == b) → false |
!= | 값이 동일하지 않다 | a = 4 b = 5 print(a != b) → true |
> | 왼쪽 값이 오른쪽 값보다 크다 | a = 4 b = 5 print(a > b) → false |
< | 왼쪽 값이 오른쪽 값보다 크거나 동일하다 | a = 4 b = 5 print(a < b) → true |
>= | 왼쪽 값이 오른쪽 값보다 크거나 동일하다 | a = 4 b = 5 print(a >= b) → false |
<= | 왼쪽 값이 오른쪽 값보다 작거나 동일하다 | a = 4 b = 5 print(a <= b) → true |
3. 할당 연산자 (Assignment Operators)
- Python에서 기본으로 사용되는 할당 연산자는 등호(=)이다. 등호는 등호 오른쪽의 값을 왼쪽으로 할당한다.
연산자 | 설명 | Example |
= | 왼쪽 변수에 오른쪽 값을 할당한다 | a = b a에 b 값을 할당 |
+= | 왼쪽 변수에 오른쪽 값을 더하고 그 결과를 왼쪽 변수에 할당 | a +=b a = a+b |
-= | 왼쪽 변수에 오른쪽 값을 빼고 그 결과를 왼쪽 변수에 할당 | a -= b a = a - b |
*= | 왼쪽 변수에 오른쪽 값을 곱하고 그 결과를 왼쪽 변수에 할당 | a *= b a = a * b |
/= | 왼쪽 변수에 오른쪽 값을 나누고 그 결과를 왼쪽 변수에 할당 | a /= b a = a / b |
%= | 왼쪽 변수에 오른쪽 값을 나눈 후 그 나머지를 왼쪽 변수에 할당 | a %= b a = a%b |
//= | 왼쪽 변수에 오른쪽 값을 나눈 후 그 몫을 왼쪽 변수에 할당 | a //= b a = a//b |
**= | 왼쪽 변수에 오른쪽 값을 제곱하고 그 결과를 왼쪽 변수에 할당 | a **= b a = a**b |
4. 논리 연산자 (Logical Operators)
- 논리 연산에는 and, or, not 세 가지가 존재한다.
연산자 | 설명 | Example |
and | 둘다 참일때만 참 | a = true b = false print((a and b)) → false |
or | 둘중 하나만 참이여도 참 | a = true b = false print((a and b)) → true |
not | 논리 상태를 반전시킴 | a = true b = false r1 = (a and b) → false r2 = not(r1) print(r2) → true |
5. 비트 연산자 (Bitwise Operator)
- 비트 연산자는 논리 연산자와 유사해서 그 차이점이 헷갈릴 수 있다.
+ 논리 연산자는 boolean 연산자로 true, false를 위한 연산자이다.
따라서 비트 연산에 사용할 경우 잘못된 값을 도출할 수 있다. 비트 연산 시엔 꼭 비트 연산자를 사용해야 한다.
true, false가 아닌 숫자에 논리 연산자를 사용하더라도 에러가 발생하지는 않지만, 의도치 않은 결과가 계산될 수
있으니 사용에 유의해야 한다.
연산자 | 설명 | Example (a = 60, b = 13 → a = 0011 1100, b = 0000 1101) |
& | And 연산, 둘다 참일때만 만족 (모두 1일 경우 1 리턴) |
(a & b) = 12 → 0000 1100 |
| | OR 연산, 둘 중 하나만 참이여도 만족 (둘 중 하나가 1일 경우 1 리턴) |
(a | b) = 61 → 0011 1101 |
^ | XOR 연산, 둘중 하나만 참일 때 만족 | (a ^ b) = 49 → 0011 0001 |
~ | 보수 연산 | (~a) = -61 → 1100 0011 |
<< | 왼쪽 시프트 연산자, 변수의 값을 왼쪽으로 지정된 비트 수 만큼 이동 |
a << 2 = 240 → 1111 0000 |
>> | 오른쪽 시프트 연산자, 변수의 값을 오른쪽으로 지정된 비트 수 만큼 이동 |
a >> 2 = 15 → 0000 1111 |
6. 멤버 연산자 (Membership Operators)
- 포함 여부를 판단하는 연산자이다.
연산자 | 설명 |
in | 포함하는지 검사 |
not in | 포함되어 있지 않은지 검사 |
Example | result |
list1 = [2, 3, 4, 5, 6, 7, 8] | list 선언 |
print(list1) | [2, 3, 4, 5, 6, 7, 8] |
print('1은 있다' if 1 in list1 else '1이 없다') | 1이 없다 |
print('3은 없다' if 3 not in list1 else '3이 있다') | 3이 있다 |
7. 식별 연산자 (Identity Operators)
- 동일한 객체 여부를 판별하는 연산자
연산자 | 설명 | Example (a = 20, b = 20) |
is | 양쪽 Operand가 동일한 Object를 가리키는지 검사 | (a is b) → True |
is not | 양쪽 Operand가 다른 Object를 가리키는지 검사 | (a is not b) → False |
- id() 함수는 객체를 입력값으로 받아서 객체의 고유 값을 반환하는 함수
- id는 파이썬이 객체를 구별하기 위해서 부여하는 일련번호로 숫자로써는 의미 없음
- id는 동일한 객체 여부를 판별할 때 사용
Example | result |
a = 10 | a, b, c 선언 |
b = 10 | |
c = 11 | |
print(a, 'id =', id(a)) | 10 id = 1879076608 |
print(b, 'id =', id(b)) | 10 id = 1879076608 |
print(c, 'id =', id(c)) | 11 id = 1879076640 |
print('같은 객체' if a is b else '다른 객체') | 같은 객체 |
print('같은 객체' if a is c else '다른 객체') | 다른 객체 |
print('다른 객체' if a is not c else '같은 객체') | 다른 객체 |
#reference
https://bioinformaticsandme.tistory.com/173
https://includestdio.tistory.com/16
https://corytips.tistory.com/162?category=658851
'개발 > Python' 카테고리의 다른 글
[Python] List(리스트) - 리스트 추가, 삭제 (0) | 2020.06.04 |
---|---|
[Python] Visual Studio Code 에서 자동 줄바꿈 하는법 (0) | 2020.06.04 |