04강. [Python]연산자

2025. 1. 31. 21:27·Python/Foundation

연산자란?

코딩을 할 때 수학적 계산, 논리 연산을 해야 될 때가 있다.

파이썬은 다양한 연산자를 제공해 이러한 연산을 수행할 수 있도록 한다.

 

연산자의 종류

파이썬에서는 다양한 연산자를 제공하는 만큼 연산자의 종류도 다양하다.

다음은 연산자의 종류를 나열한 것이다.

 

1. 산술 연산자

단순하게 수학적이 계산을 할 수 있는 연산자이다.

# 산술 연산자
add = 2 + 3 # 덧셈
sub = 3 - 2 # 뺄셈
mul = 2 * 3 # 곱셈
div = 5 / 2 # 나눗셈
quo = 23 // 7 # 몫
rem = 7 % 4 # 나머지
power = 2 ** 3 # 거듭제곱

print(add)
print(sub)
print(mul)
print(div)
print(quo)
print(rem)
print(power)
5
1
6
2.5
3
3
8

 

2. 비교 연산자

수를 비교할 때 사용하는 연산자이며 결과는 논리형으로 반환한다.

# 비교 연산자
print(2 == 3) # 같다
print(2 != 3) # 다르다
print(2 > 3) # 2가 3보다 크다
print(2 < 3) # 2가 3보다 작다
print(2 >= 3) # 2가 3보다 크거나 같다
print(2 <= 3) # 2가 3보다 작거나 같다
False
True
False
True
False
True

 

3. 논리 연산자

and와 or연산자는 두 논리형 변수를 비교하여 결과를 논리형으로 반환하고 not연산자는 하나의 논리형 변수의 반대 결과를 출력한다.

# and연산자
# 두 논리형 변수가 모두 True일 때 True를 반환하며 나머지 경우는 모두 False를 반환한다.
print(True and True)
print(True and False)
print(False and True)
print(False and False)
True
False
False
False

# or연산자
# 두 논리형 변수 중 하나라도 True일 때 True를 반환하며 나머지 경우는 모두 False를 반환한다.
print(True or True)
print(True or False)
print(False or True)
print(False or False)
True
True
True
False

# not연산자
# 하나의 논리형 변수가 주어지면 그 반대의 결과를 출력한다.
print(not True)
print(not False)
False
True

 

4. 대입 연산자

변수에 값을 할당할 때 사용되는 연산자이다.

# 대입 연산자
a = 7 # a에 7이라는 값을 할당
print(a)

a += 3 # a에 3을 더한 후 a에 재할당, a = a + 3
print(a)

a -= 5 # a에 3을 뺀 후 a에 재할당, a = a - 5
print(a)

a *= 2 # a에 3을 곱한 후 a에 재할당, a = a * 2
print(a)

a /= 3 # a에 3을 나눈 후 a에 재할당, a = a / 3
print(a)
7
10
5
10
3.3333333333333335

 

5. 멤버십 연산자

주어진 값에 특정 값이 포함되어 있는지 여부를 알려주는 연산자이다.

# 멤버십 연산자
print('a' in 'apple') # apple에 a가 포함되어 있는지 논리형으로 출력
print('c' not in 'banana') # banana에 c가 포함되어 있지 않은지 논리형으로 출력
True
True

 

6. 식별 연산자

두 객체가 같은 메모리 위치를 가리키는지 알려주는 연산자이다.

# 식별 연산자
a = 10
b = 10
c = 10.0
d = 8

print(a is b)
print(a is c)
print(a is not d)
True
False
True

 

※ 10과 10.0을 비교한 결과가 False인 이유는 10은 int객체이고 10.0은 float객체이므로 객체가 다르기 때문이다.

 

7. 비트 연산자

2진수 연산에 사용되는 연산자이다.

# 10진수를 2진수로 변환하기
num1 = 17
num2 = bin(num1) # bin함수를 통해 2진수로의 변환이 가능하다.

print(num2)
0b10001

# 비트 and 연산자
# 두 비트를 각 자리마다 비교해 모두 1일때만 그 자리는 1이 된다.
print(bin(0b10001 & 0b10001))

# 비트 or 연산자
# 두 비트를 각 자리마다 비교해 하나라도 1이면 그 자리는 1이 된다.
print(bin(0b10001 | 0b10001))

# 비트 xor 연산자
# 두 비트를 각 자리마다 비교해 그 자르에 들어갈 수를 같으면 0, 다르면 1로 결정한다.
print(bin(0b10001 ^ 0b10001))

# 비트 not 연산자
# 1이면 0으로 0이면 1로 비트를 뒤집는다.
print(bin(~0b10001))

# 비트 시프트 연산자
# <<은 비트를 오른쪽에 있는 수만큼 왼쪽으로 >>는 오른쪽으로 시프트한다.
print(bin(0b10001 << 2))
print(bin(0b10001 >> 2))
0b10001
0b10001
0b0
-0b10010
0b1000100
0b100

 

연산자 우선순위

여러 연산자가 하나의 식에 있을 때 파이썬은 다음과 같은 순서로 연산자를 처리한다.

먼저 처리하고 싶은 연산이 있을 시 괄호를 치면 우선적으로 처리한다.

우선순위 연산자 설명
1 ** 거듭제곱
2 +x, -x, ~x 단항 덧셈(양의 부호), 단항 뺄셈(음의 부호), 비트 NOT
3 *, /, //, % 곱셈, 나눗셈, 몫, 나머지
4 +, - 덧셈, 뺄셈
5 <<, >> 비트 시프트
6 & 비트 AND
7 ^ 비트 XOR
8 | 비트 OR
9 in, not in, is, is not,
<, <=, >, >=, !=, ==
식별 연산자, 멤버십 연산자, 비교 연산자
10 not x 논리 NOT
11 and 논리 AND
12 or 논리 OR
13 if else 조건부 표현식
14 lambda 람다 표현식
15 := 할당 표현식

 

결론

파이썬은 다양한 연산자를 제공하며 그에 따라 다양한 연산이 가능하다.

이러한 연산이 결국 머신러닝 등 다른 심화 과정의 기초가 되기 때문에 꼭 알아두어야 한다.

'Python > Foundation' 카테고리의 다른 글

06강. [Python]튜플  (0) 2025.02.01
05강. [Python]리스트  (0) 2025.02.01
03강. [Python]자료형  (1) 2025.01.31
02강. [Python]변수  (0) 2025.01.31
01강. [Python]파이썬의 기본 문법  (0) 2025.01.31
'Python/Foundation' 카테고리의 다른 글
  • 06강. [Python]튜플
  • 05강. [Python]리스트
  • 03강. [Python]자료형
  • 02강. [Python]변수
C0de-Log
C0de-Log
c0de-log 님의 블로그 입니다.
  • C0de-Log
    C0de-Log
    C0de-Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (18)
      • C (0)
      • Python (17)
        • Foundation (14)
        • Library (3)
      • ML (0)
      • 공모전 & 자격증 (1)
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ADSP
    튜플
    조건문
    lambda
    딕셔너리
    들여쓰기
    Python
    주석
    연산자
    자료형
    사용자 정의 함수
    넘파이
    반복문
    numpy
    Pandas
    tuple
    폴라스
    polars
    함수
    합격
    제어문
    코드블록
    클래스
    세트
    판다스
    CLASS
    변수
    람다
    dictionary
    리스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
C0de-Log
04강. [Python]연산자
상단으로

티스토리툴바