본문 바로가기

STUDY/Python

[Operator] 산술 연산자 / 비교 연산자 / 연산자 모듈

 

이 글은 24.01.03에 본인 벨로그에 작성했던 글을 옮겨 온 것이다.

 

산술 연산자(나머지와 몫)

divmod(a, b)

  • a를 b로 나누었을 때의 몫과 나머지를 튜플형으로 반환하는 메서드.
# 예시

# input
a=10
b=3
print(divmod(a, b))
====================

# output
(3, 1)

 

비교 연산자(문자 비교)

ord(x) => 문자를 아스키 코드로 변환(x는 길이 1의 str형 데이터)
chr(y) => 아스키 코드를 문자로 변환(y는 int형 데이터)

# 예시

# input
print(f"'A' -> {ord('A')}")
print(f"83 -> {chr(83)}")
==============================

# output
'A' -> 65
83 -> S

 

operator 모듈

  • 산술 연산자
    operator.add(a, b) => a + b 반환
    operator.sub(a, b) => a - b 반환
    operator.mul(a, b) => a × b 반환
    operator.truediv(a, b) => a ÷ b 반환
    operator.mod(a, b) => a ÷ b의 나머지 반환
    operator.floordiv(a, b) => a ÷ b의 몫 반환
    operator.pow(a, b) => a의 b제곱 반환
# 예시

# input
import operator

print(f"operator.add(5, 6) => {operator.add(5, 6)}")
print(f"operator.sub(5, 6) => {operator.sub(5, 6)}")
print(f"operator.mul(5, 6) => {operator.mul(5, 6)}")
print(f"operator.truediv(5, 6) => {operator.truediv(5, 6)}")
print(f"operator.mod(5, 6) => {operator.mod(5, 6)}")
print(f"operator.floordiv(5, 6) => {operator.floordiv(5, 6)}")
print(f"operator.pow(5, 6) => {operator.pow(5, 6)}")
==============================================================

# output
operator.add(5, 6) => 11
operator.sub(5, 6) => -1
operator.mul(5, 6) => 30
operator.truediv(5, 6) => 0.8333333333333334
operator.mod(5, 6) => 5
operator.floordiv(5, 6) => 0
operator.pow(5, 6) => 15625
  • 비교 및 논리 연산자
    operator.eq(a, b) => a == b 반환
    operator.ne(a, b) => a != b 반환
    operator.gt(a, b) => a > b 반환
    operator.ge(a, b) => a >= b 반환
    operator.lt(a, b) => a < b 반환
    operator.le(a, b) => a <= b 반환
    operator.and_(a, b) => a and b 반환
    operator.or_(a, b) => a or b 반환
    operator.not_(a) => not a 반환
# 예시

# input
import operator

print(f"operator.eq(5, 6) => {operator.eq(5, 6)}")
print(f"operator.ne(5, 6) => {operator.ne(5, 6)}")
print(f"operator.gt(5, 6) => {operator.gt(5, 6)}")
print(f"operator.ge(5, 6) => {operator.ge(5, 6)}")
print(f"operator.lt(5, 6) => {operator.lt(5, 6)}")
print(f"operator.le(5, 6) => {operator.le(5, 6)}")
print(f"operator.and_(True, False) => {operator.and_(True, False)}")
print(f"operator.or_(True, False) => {operator.or_(True, False)}")
print(f"operator.not_(True) => {operator.not_(True)}")
=====================================================================

# output
operator.eq(5, 6) => False
operator.ne(5, 6) => True
operator.gt(5, 6) => False
operator.ge(5, 6) => False
operator.lt(5, 6) => True
operator.le(5, 6) => True
operator.and_(True, False) => False
operator.or_(True, False) => True
operator.not_(True) => False