본문 바로가기

개발/Python

[Python] python 기본 연산자 모음집 ( 산술 연산자 / 비교 연산자 / 할당 연산자 / 비트 연산자 / 논리 연산자 / 멤버 연산자 / 식별 연산자 )

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
b = 4
print(a - b)

1
*

a = 4
b = 5
print(a * b)

20
**

a = 4
b = 5
print(a ** b)

1024
/

a = 48
b = 5
print(a / b)

9.6
//

a = 48
b = 5
print(a // b)

9
%

a = 48
b = 5
print(a % b)

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://wikidocs.net/20707

https://bioinformaticsandme.tistory.com/173

https://technote.kr/199

https://includestdio.tistory.com/16

https://wikidocs.net/1160

https://corytips.tistory.com/162?category=658851

http://ehpub.co.kr/python%EC%97%90%EC%84%9C-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94-%EC%97%B0%EC%82%B0%EC%9E%90/

https://wikidocs.net/1164