파이썬 - 연산자: 기본기를 마스터하는 친절한 가이드
안녕하세요, 파이썬 프로그래머를 꿈꾸는 여러분! 여러분의 이 흥미로운 파이썬 연산자의 세계로의 여정에 가이드가 되어 기쁩니다. 여러 년간 프로그래밍을 가르치며 있던 저는 연산자를 이해하는 것이 도구箱의 기본 도구를 배우는 것과 같다고 말할 수 있습니다. 한 번 배워두면, 무엇을 만들 수 있는지 놀라실 것입니다!
파이썬 연산자란 무엇인가요?
들어가기 전에 간단한 비유로 시작해 보겠습니다. 연산자를 파이썬의 동사로 생각해 보세요. 영어에서 동사가 우리에게 행동을 표현할 수 있도록 해주는 것처럼, 연산자는 파이썬에서 행동을 수행할 수 있도록 해줍니다. 그들은 우리의 데이터를 조작하고 의미 있는 프로그램을 만들어주는 열심한 일꾼들입니다.
파이썬의 연산자 종류
파이썬은 여러 분류에 걸쳐 풍부한 연산자 세트를 제공합니다. 각 유형을 예제와 함께 탐구해 보겠습니다. "아하! 이제 이해했어요!"라고 말하실 것입니다!
1. 산술 연산자
이들은 아마도 가장 익숙한 연산자들입니다. 학교에서 배운 기본 수학 연산과 비슷하지만, 이제는 여러분의 코딩 동맹입니다!
# 덧셈
print(5 + 3) # 출력: 8
# 뺄셈
print(10 - 4) # 출력: 6
# 곱셈
print(3 * 4) # 출력: 12
# 나눗셈
print(20 / 5) # 출력: 4.0
# 바닥 나눗셈 (가장 가까운 정수로 내림)
print(17 // 3) # 출력: 5
# 나머지
print(17 % 3) # 출력: 2
# 거듭제곱
print(2 ** 3) # 출력: 8
이 모든 연산자는 특정한 수학적 연산을 수행합니다. 나머지 연산자(%
)는 숫자가 짝수인지 홀수인지를 확인할 때 매우 유용합니다. 저는 종종 코딩 클래스에서 이 트릭을 사용합니다!
2. 비교 연산자
이 연산자들은 프로그래밍 대회의 심판과 같습니다. 값들을 비교하고 True
또는 False
를 반환합니다.
# 같다
print(5 == 5) # 출력: True
# 다르다
print(5 != 3) # 출력: True
# 더 크다
print(7 > 3) # 출력: True
# 더 작다
print(2 < 8) # 출력: True
# 크거나 같다
print(5 >= 5) # 출력: True
# 작거나 같다
print(3 <= 1) # 출력: False
이 연산자들을 "질문자"로 생각해 보세요. 그들은 끊임없이 "이게 사실인가?"라고 묻고, 예나 아니요라는 답을 주죠.
3. 논리 연산자
논리 연산자는 파이썬의 의사결정자입니다. 그들은 여러 조건을 결합하고 복잡한 결정을 내리는 데 도움을 줍니다.
# and 연산자
print(True and True) # 출력: True
print(True and False) # 출력: False
# or 연산자
print(True or False) # 출력: True
print(False or False) # 출력: False
# not 연산자
print(not True) # 출력: False
print(not False) # 출력: True
and
를 엄격한 부모, or
를 완연한 부모, not
를 반항적인 소년으로 생각해 보세요. and
는 두 조건 모두 참이어야 하고, or
는 적어도 하나의 조건이 참이어야 하며, not
는 항상 반대합니다!
4. 대입 연산자
이 연산자들은 파이썬의 이사자입니다. 그들은 변수에 값을 대입합니다.
# 간단한 대입
x = 5
print(x) # 출력: 5
# 더하고 대입
x += 3 # x = x + 3와 동일
print(x) # 출력: 8
# 빼고 대입
x -= 2 # x = x - 2와 동일
print(x) # 출력: 6
# 곱하고 대입
x *= 2 # x = x * 2와 동일
print(x) # 출력: 12
# 나누고 대입
x /= 3 # x = x / 3와 동일
print(x) # 출력: 4.0
이 연산자들은 정말 시간을 절약해줍니다. x = x + 3
를 쓸 필요 없이 x += 3
라고 써도 됩니다. 파이썬이 "나도 알아서 해줄게, 가족!"라고 말하는 것과 같아요!
5.同一性 연산자
同一性 연산자는 두 객체의 메모리 위치를 비교하는 데 사용됩니다.
# is 연산자
x = [1, 2, 3]
y = [1, 2, 3]
z = x
print(x is z) # 출력: True
print(x is y) # 출력: False
print(x == y) # 출력: True
# is not 연산자
print(x is not y) # 출력: True
is
연산자는 두 변수가 메모리의 같은 객체를 가리키는지 확인합니다. "이 두 가지는 정말 같은 것인가?"라고 묻는 것과 같아요. 이것은 꼬이는 부분이 있어서, 항상 학생들에게 ==
는 값 비교용이고, is
는同一性 비교용이라고 말씀드려요.
6. 멤버십 연산자
이 연산자들은 클럽의 보안원과 같습니다. 값이 시퀀스의 구성원인지 확인합니다.
# in 연산자
fruits = ['apple', 'banana', 'cherry']
print('banana' in fruits) # 출력: True
# not in 연산자
print('mango' not in fruits) # 출력: True
이 연산자들을 리스트에 대해 가르치는 데 너무나도 사용하고 있어요. 항목이 존재하는지 여부를 체크하는 데 그렇게 쉬워집니다!
파이썬 연산자 우선순위
이제 모든 연산자를 알아보았으므로, 파이썬이 어떻게 연산자를 평가하는지 이해하는 것이 중요합니다. 이를 연산자 우선순위라고 하며, 이는 파이썬의 럭셔리 파티에서 일부 연산자가 먼저 가는 것과 같아요!
다음은 가장 높은 우선순위부터 가장 낮은 우선순위까지의 연산자 표입니다:
연산자 | 설명 |
---|---|
() | 괄호 |
** | 거듭제곱 |
+x, -x, ~x | 일항 플러스, 마이너스, 비트 반전 |
*, /, //, % | 곱셈, 나눗셈, 바닥 나눗셈, 나머지 |
+, - | 덧셈, 뺄셈 |
<<, >> | 비트 시프트 |
& | 비트 AND |
^ | 비트 XOR |
| | 비트 OR |
==, !=, >, >=, <, <=, is, is not, in, not in | 비교,同一性, 멤버십 |
not | 논리 NOT |
and | 논리 AND |
or | 논리 OR |
기억해 주세요, 괄호를 사용하여 표현식의 순서를 명확히 지정할 수 있습니다. 이는 자신의 표현식 중 가장 먼저 평가하고 싶은 부분에 VIP 패스를 주는 것과 같아요!
# 괄호 없음
print(2 + 3 * 4) # 출력: 14
# 괄호 있음
print((2 + 3) * 4) # 출력: 20
첫 번째 예제에서는 곱셈이 더 높은 우선순위이므로 3 * 4
가 먼저 평가됩니다. 두 번째 예제에서는 괄호가 기본 우선순위를 무시하고 덧셈이 먼저 일어납니다.
그리고 이렇게 끝나겠습니다! 여러분은 이제 파이썬 연산자에 대한 빠른 강좌를 마친 것입니다. 연습을 통해 완벽함을 이루는 것을 잊지 마세요. 여러분이 알지 못했을 때에는 이 연산자들을 자신의 코드에서 실험해 보세요. 언제 까지인가, 이 연산자들을 마스터Chef처럼 잘 조화시키며 복잡하고 맛있는 파이썬 프로그램을 만들 수 있을 것입니다!
코딩을 즐기세요, 연산자가 여러분을 보호하길 바랍니다!
Credits: Image by storyset