제로베이스 데이터 취업 파트타임/100일 챌린지_일일 학습 일지

제로베이스 데이터 파트타임 스쿨 학습 일지 [25.03.19]

김뚱입니다 2025. 3. 19. 03:41

[강의 요약]

[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일반 강의 자료 일부를 발췌하여 작성되었습니다.”