제로베이스 데이터 파트타임 스쿨 학습 일지 [25.03.19]
[강의 요약]
[Ch 01. 파이썬 기초] 강의 수강
20_복합연산자부터 23_논리연산자까지 강의 수강하였음
할당(대입) 연산자
num1 = 10
num2 = 20
result = num1 + num2
★코드 설명★
오른쪽의 값을 왼쪽에 할당(대입)
하지만 매번 이렇게 하면 번거로운 점이 있다.
그래서 아래의 복합연산자를 사용함!
복합연산자
num = 10
print('num : {}'.format(num))
# 덧셈 후 할당
num += 3 # num = num + 3
print('num : {}'.format(num)) # num : 13
# 뺄셈 후 할당
num -= 3 # num = num - 3
print('num : {}'.format(num)) # num : 10
# 곱셈 후 할당
num *= 3 # num = num * 3
print('num : {}'.format(num)) # num : 30
# 나눗셈 후 할당
num /= 3 # num = num / 3
print('num : {}'.format(num)) # num : 10.0
# 나머지 연산 후 할당
num %= 3 # num = num % 3
print('num : {}'.format(num)) # num : 1.0
# 몫 연산 후 할당
num = 10
num //= 3 # num = num // 3
print('num : {}'.format(num)) # num : 3
# 거듭제곱 후 할당
num = 10
num **= 3 # num = num ** 3
print('num : {}'.format(num)) # num : 1000
★코드 설명★
산술 연산자처럼 계산하면 되는 것이어서 어려운 부분은 없음
실제로 많이 사용하는 만큼 숙지해야 하는 연산자
비교연산자(숫자 비교)
비교연산자는 두 개의 값을 비교해서 True or False를 반환하는 연산자다.
한마디로 연산 결과는 bool이다.
추가적으로 ==과 !=는 자료형과 관계없이 값만 비교하며, >와 <는 문자열 비교도 가능하다.(알파벳 숫자 기준)
num1 = 10; num2 = 5
result = num1 > num2
print('num1 > num2 : {}'.format(result)) # num1 > num2 : True
result = num1 >= num2
print('num1 >= num2 : {}'.format(result)) # num1 >= num2 : True
result = num1 < num2
print('num1 < num2 : {}'.format(result)) # num1 < num2 : False
result = num1 <= num2
print('num1 <= num2 : {}'.format(result)) # num1 <= num2 : False
result = num1 == num2
print('num1 == num2 : {}'.format(result)) # num1 == num2 : False
result = num1 != num2
print('num1 != num2 : {}'.format(result)) # num1 != num2 : True
★코드 설명★
참이면 True
거짓이면 False를 반환하므로 직관적인 결과를 보여준다.
딱히 설명이라 할게 필요가 없고 잘 외워서 사용하면 된다.
비교연산자(문자 비교)
파이썬에서 문자는 아스키코드 값을 기준으로 비교됨
예시로는 'A'의 아스키 값은 65, 'S'의 아스키 값은 83이므로 'A' < 'S'는 True가 된다.
# 문자 비교 : 아스키 코들르 이용한 비교연산
cha1 = 'A' # 65
cha2 = 'S' # 83
print('\'{}\' > \'{}\' : {}'.format(cha1, cha2, (cha1 > cha2))) # 'A' > 'S' : False
print('\'{}\' >= \'{}\' : {}'.format(cha1, cha2, (cha1 >= cha2))) # 'A' >= 'S' : False
print('\'{}\' < \'{}\' : {}'.format(cha1, cha2, (cha1 < cha2))) # 'A' < 'S' : True
print('\'{}\' <= \'{}\' : {}'.format(cha1, cha2, (cha1 <= cha2))) # 'A' <= 'S' : True
print('\'{}\' == \'{}\' : {}'.format(cha1, cha2, (cha1 == cha2))) # 'A' == 'S' : False
print('\'{}\' != \'{}\' : {}'.format(cha1, cha2, (cha1 != cha2))) # 'A' != 'S' : True
print('\'A\' -> {}'.format(ord('A'))) # 'A' -> 65
print('\'S\' -> {}'.format(ord('S'))) # 'S' -> 83
print('65 -> {}'.format(chr(65))) # 65 -> A
print('83 -> {}'.format(chr(83))) # 83 -> S
# 문자열 비교 : 문자열 자체 비교
str1 = 'Hello'
str2 = 'hello'
print('{} == {} : {}'.format(str1, str2, (str1 == str2))) # Hello == hello : False
print('{} != {} : {}'.format(str1, str2, (str1 != str2))) # Hello != hello : True
★코드 설명★
문자비교에서는 6가지의 비교 연산자를 다 사용할 수 있음
하지만 문자열 비교에서는 같다, 같지 않다만 사용할 수 있음
논리연산자
논리 연산자 : 피연산자의 논리(True, False)를 이용한 연산
# 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 연산
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 연산
print('not {} : {}'.format(True, (not True)))
print('not {} : {}'.format(False, (not False)))
★코드 설명★
A and B : A와 B 모두 True인 경우만 결과값으로 True임
A or B : A와 B 중 어느 하나만 True이면 결과값은 True임
not A : A의 상태를 부정하는 결과를 나타냄
[나의 생각 정리]
- 기존에 알고 있던 내용 복습하는 시간을 가졌다
- 연산자 부분은 많이 사용하므로 바로바로 사용할 수 있을 정도로 기억해야 한다
[적용점]
- 코딩 테스트 문제 푸는데 연산자 부분을 적용할 수 있다
“이 글은 제로베이스 데이터 스쿨 주 3일반 강의 자료 일부를 발췌하여 작성되었습니다.”