◾비교 연산자
- 비교 연산자 : 값을 비교해 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))
◽문자(열) 비교
▪문자 비교
- 아스키 코드(정수)를 이용한 비교연산_아스키 코드
- 숫자 비교처럼 모든 비교 연산자 사용 가능 :
>
, >=
, <
, <=
, ==
, !=
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() : 해당 데이터를 아스키 코드상의 값(문자)으로 변환
print("'A' => {}".format(ord('A')))
print("'S' => {}".format(ord('S')))
print("'a' => {}".format(ord('a')))
print("'s' => {}".format(ord('s')))
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
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
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
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보다 크지 않다.')