[Python] Operators (연산자)

HyungJin Han·2022년 6월 11일
0

Python

목록 보기
1/1
post-thumbnail

Python의 연산자

Python의 연산자는 8개로 이루어져 있다.

  1. 산술 연산자 (Arithmetic Operators)

  2. 할당 연산자 (Assignment Operators)

  3. 삼항 연산자 (Ternary Operator)

  4. 비교 연산자 (Comparison Operators)

  5. 논리 연산자(Logical Operators)

  6. 식별 연산자(Identity Operators)

  7. 멤버 연산자(Membership Operators)

  8. 비트 연산자(Bitwise Operators)


1. 산술 연산자 (Arithmetic Operators)

+ (더하기)

print(100 + 50)

# 결과 : 150

- (빼기)

print(100 - 50)

# 결과 : 50

* (곱하기)

print(100 * 50)

# 결과 : 5000

/ (나누기)

print(100 / 50)

# 결과 : 2.0

% (나머지)

print(100 % 55)

# 결과 : 45

** (제곱)

print(100 ** 3)

# 결과 : 1000000

// (몫)

print(100 // 55)

# 결과 : 1

2. 할당 연산자 (Assignment Operators)

= (a = b 대입의 개념)

a = 100
b = 50

print(a, b)

# 결과 100 50

+= (a += b 👉 a = a + b )

a = 100
a += 10

print(a)

# 결과 : 110

-= (a -= b 👉 a = a - b )

a = 100
a -= 10

print(a)

# 결과 : 90

*= (a *= b 👉 a = a * b )

a = 100
a *= 10

print(a)

# 결과 : 1000

/= (a /= b 👉 a = a / b )

a = 100
a /= 10

print(a)

# 결과 : 10.0

%= (a %= b 👉 a = a % b )

a = 100
a %= 3

print(a)

# 결과 : 1

**= (a **= b 👉 a = a ** b )

a = 100
a **= 3

print(a)

# 결과 : 1000000

//== (a //== b 👉 a = a // b )

a = 100
a //= 3

print(a)

# 결과 : 1000000

3. 삼항 연산자 (Ternary Operator)

삼항 연산자의 기본적인 문법

JavaScript의 삼항 연산자 문법

[condition] ? [true_value] : [false_value]

Python에서는 삼항 연산자를 지원하지 않기 때문에 if, else를 이용한 문법을 통해 삼항 연산자를 표현

num = 100

example = "짝수입니다." if num % 2 == 0 else "홀수입니다."

print(example)

# 결과 : 짝수입니다.

4. 비교 연산자 (Comparison Operators)

비교 연산자의 반환값은 True, False

== (같음)

a = 1
b = 0
print(a == b)

# 결과 : False

a = 0
print(a == b)

# 결과 : True

!= (다름)

a = 1
b = 0
print(a != b)

# 결과 : True

a = 0
print(a != b)

# 결과 : False

> (왼쪽이 큼)

a = 1
b = 0
print(a > b)

# 결과 : True

a = -1
print(a > b)

# 결과 : False

< (오른쪽이 큼)

a = 1
b = 0
print(a < b)

# 결과 : False

a = -1
print(a < b)

# 결과 : True

>= (왼쪽이 크거나 같음)

a = 1
b = 0
print(a >= b)

# 결과 : True

a = -1
print(a >= b)

# 결과 : False

a = 0
print(a >= b)

# 결과 : True

<= (오른쪽이 크거나 같음)

a = 1
b = 0
print(a <= b)

# 결과 : False

a = -1
print(a <= b)

# 결과 : True

a = 0
print(a >= b)

# 결과 : True

5. 논리 연산자(Logical Operators)

논리 연산자의 반환값은 True, False

and (and를 두고 좌, 우의 조건이 모두 참)

a = 1
b = 2
c = 3
d = 4

print(a < b and c < d)

# 결과 : True

print(a < b and c > d)

# 결과 : False

or (or을 두고 좌, 우의 조건 중 하나라도 참)

a = 1
b = 2
c = 3
d = 4

print(a < b or c < d)

# 결과 : True (둘 다 True)

print(a < b or c > d)

# 결과 : True (좌 True, 우 False)

print(a > b or c > d)

# 결과 : False (둘 다 False)

not (조건이 거짓)

a = 1
b = 2
c = 3
d = 4

print(not a < b)

# 결과 : False (a < b 자체는 True)

print(not c > d)

# 결과 : True (c > d 자체는 False)

6. 식별 연산자(Identity Operators)

같은 메모리에 있는지를 확인하는 연산자로, 반환값은 True, False

a = 1
b = 2

print(a is b) # 결과 : False

print(a is not b) # 결과 : True

print(a == 1.0) # 결과 : True
# 값 자체의 비교이므로 True

print(a is 1.0) # 결과 : False
# 객체의 주소가 다르므로 False

7. 멤버 연산자(Membership Operators)

왼쪽 값이 오른쪽 배열에 포함되어 있는지를 확인하는 연산자로, 반환값은 True, False

a = [1, 2, 3, 4, 5]

print(1 in a) # 결과 : True

print("1" in a) # 결과 : False
# 정수의 형태가 아닌 문자의 형태의 포함을 확인하고 있으므로 False

print(6 in a) # 결과 : False

print("Jin" in "HyungJin") # 결과 : True

print("Han" in "HyungJin") # 결과 : False

8. 비트 연산자(Bitwise Operators)

비트(bit) 단위로 연산을 할 때 사용하는 연산자로, 2진법에 대한 이해가 필요

<< (왼쪽 시프트 연산자)

print(2 << 1)

# 결과 : 4 (2 * 2)

# 2(0010)에서 4(0100)으로  1비트 이동

>> (오른쪽 시프트 연산자)

print(2 >> 1)

# 결과 : 1 (2 / 2)

# 2(0010)에서 1(0001)으로  1비트 이동

& (and 연산자)

print(2 & 6)

# 결과 : 2

# 2(0010)와 6(0110)에서 겹치는 1만 출력해서 2(0010)

| (or 연산자)

print(2 | 8)

# 결과 : 10

# 2(0010)와 8(1000)에 둘 중 한 쪽에만 1이 있기만 하면 1을 출력해서 10(1010)

^ (xor 연산자)

print(2 ^ 4)

# 결과 : 6

# 2(0010)와 4(0100)에서 둘 중 한쪽만 1이 있는 경우 1을 출력해서 6(0110)

~ (보수 연산자)

보수 연산자를 이해하는데 시간이 조금 걸렸다...

print(~ 4)

# 결과 : -5 → -(입력값+1)

# 4(0b100)에서 -5(-0b101)로 출력
profile
토끼보다는 거북이처럼 꾸준하게

0개의 댓글