파이썬 기초 - 연산자(2)

이상해씨·2021년 9월 15일
0

◾비교 연산자

  • 비교 연산자 : 값을 비교해 bool형으로 반환하는 연산
    • > : 초과, >= : 이상
    • < : 미만, <= : 이하
    • == : 같다, != : 같지않다

◽숫자 비교

num1 = 10; num2 = 5

result = num1 > num2
print('num1 > num2 : {}'.format(result))

result = num1 >= num2
print('num1 >= num2 : {}'.format(result))

result = num1 < num2
print('num1 < num2 : {}'.format(result))

result = num1 <= num2
print('num1 <= num2 : {}'.format(result))

result = num1 == num2
print('num1 == num2 : {}'.format(result))

result = num1 != num2
print('num1 != num2 : {}'.format(result))

◽문자(열) 비교

▪문자 비교

  • 아스키 코드(정수)를 이용한 비교연산_아스키 코드
  • 숫자 비교처럼 모든 비교 연산자 사용 가능 : >, >= , <, <=, ==, !=
# 'A' => 65, 'S' => 83
char1 = 'A'
char2 = 'B'
print("'{}' > '{}' : '{}'".format(char1, char2, char1 > char2))
print("'{}' >= '{}' : '{}'".format(char1, char2, char1 >= char2))
print("'{}' < '{}' : '{}'".format(char1, char2, char1 < char2))
print("'{}' <= '{}' : '{}'".format(char1, char2, char1 <= char2))
print("'{}' == '{}' : '{}'".format(char1, char2, char1 == char2))
print("'{}' != '{}' : '{}'".format(char1, char2, char1 != char2))
  • 문자와 아스키 코드 변환
    • ord() : 해당 데이터를 아스키코드(정수)로 변환
    • chr() : 해당 데이터를 아스키 코드상의 값(문자)으로 변환
# ord()
print("'A' => {}".format(ord('A')))
print("'S' => {}".format(ord('S')))
print("'a' => {}".format(ord('a')))
print("'s' => {}".format(ord('s')))

# chr()
print("65 => '{}'".format(chr(65)))
print("83 => '{}'".format(chr(83)))

▪문자열 비교

  • 문자열 자체를 비교
  • 문자와 달리 ==, !=만 사용 가능
str1 = 'Hello'
str2 = 'hello'
print('{} == {} : {}'.format(str1, str2, str1 == str2))
print('{} != {} : {}'.format(str1, str2, str1 != str2))

◾논리 연산자

  • 논리 연산자 : 피연산자의 논리(True, False)를 이용한 연산
  • and : 양쪽 모두 True인 경우 결과값이 True
# and 연산
print('{} and {} : {}'.format(True, True, (True and True)))
print('{} and {} : {}'.format(False, True, (False and True)))
print('{} and {} : {}'.format(True, False, (True and False)))
print('{} and {} : {}'.format(False, False, (False and False)))
  • or : 둘 중 하나만 True인 경우 결과값이 True
# or 연산
print('{} or {} : {}'.format(True, True, (True or True)))
print('{} or {} : {}'.format(False, True, (False or True)))
print('{} or {} : {}'.format(True, False, (True or False)))
print('{} or {} : {}'.format(False, False, (False or False)))
  • not : 단일 연산자로 False인 경우 결과값이 True
# not 연산
print('not {} : {}'.format(True, (not True)))
print('not {} : {}'.format(False, (not False)))

◾Operator 모듈

  • 모듈 : 함수나 변수 또는 클래스를 모아 놓은 파일로 누군가 이미 만든 기능을 말한다
    • 수학 연산 관련 모듈, 난수 관련 모듈, 연산자 관련 모듈...
  • operator 모듈 : 산술 연산자 관련 함수
    • + : operator.add()
    • - : operator.sub()
    • * : operator.mul()
    • / : operator.truediv()
    • % : operator.mod()
    • // : operator.floordiv()
    • ** : operator.pow()
import operator

num1 = 8; num2 = 3

print('{} + {} : {}'.format(num1, num2, operator.add(num1, num2)))
print('{} - {} : {}'.format(num1, num2, operator.sub(num1, num2)))
print('{} * {} : {}'.format(num1, num2, operator.mul(num1, num2)))
print('{} / {} : {}'.format(num1, num2, operator.truediv(num1, num2)))
print('{} % {} : {}'.format(num1, num2, operator.mod(num1, num2)))
print('{} // {} : {}'.format(num1, num2, operator.floordiv(num1, num2)))
print('{} ** {} : {}'.format(num1, num2, operator.pow(num1, num2)))
  • operator 모듈 : 비교 연산자 관련 함수
    • = : operator.eq()
    • != : operator.ne()
    • > : operator.gt()
    • >= : operator.ge()
    • < : operator.lt()
    • <= : operator.le()
import operator

num1 = 8; num2 = 3

print('{} == {} : {}'.format(num1, num2, operator.eq(num1, num2)))
print('{} != {} : {}'.format(num1, num2, operator.ne(num1, num2)))
print('{} > {} : {}'.format(num1, num2, operator.gt(num1, num2)))
print('{} >= {} : {}'.format(num1, num2, operator.ge(num1, num2)))
print('{} < {} : {}'.format(num1, num2, operator.lt(num1, num2)))
print('{} <= {} : {}'.format(num1, num2, operator.le(num1, num2)))
  • operator 모듈 : 논리 연산자 관련 함수
    • and : operator.and_()
    • or : operator.or_()
    • not : operator.not_()
import operator

flag1 = True; flag2 = False

print('{} and {} : {}'.format(flag1, flag2, operator.and_(flag1, flag2)))
print('{} or {} : {}'.format(flag1, flag2, operator.or_(flag1, flag2)))
print('not {} : {}'.format(flag1, operator.not_(flag1)))

◾조건식

  • 조건에 따라 실행이 분기되는 식
  • A if 조건식 else B : 조건식의 결과가 True이면 A 실행, 그렇지 않으면 B 실행
num1 = 10; num2 = 100
numResult = True if num1 > num2 else False
print('num1 > num2 : {}'.format(numResult))
print('num1은 num2보다 크다.') if numResult else print('num1은 num2보다 크지 않다.')
profile
후라이드 치킨

0개의 댓글