프로그래밍에서 연산자는 데이터를 처리하고 조작하는 데 사용되는 특별한 기호나 키워드입니다. 연산자를 통해 우리는 프로그램에서 다양한 연산을 수행할 수 있습니다.
각각의 연산자는 고유한 기능을 수행합니다. 예를 들어 더하기(+)나 곱하기(*)와 같은 산술 연산자는 수학적 계산을 수행하고, 등호(=)와 같은 할당 연산자는 변수에 값을 저장합니다. 이러한 연산자들은 프로그래밍의 기본적인 도구이며, 이를 활용하여 다양한 기능을 구현할 수 있습니다.
연산자의 종류
산술 연산자는 1+1처럼 수의 기본적인 계산에 사용됩니다. 할당 연산자는 변수에 값을 저장하는데 사용합니다. 지금까지는 = 연산자만 다뤘지만, 앞으로 +=, -= 등 다양한 할당 연산자를 배우게 될 것입니다. 비트 연산자는 2진수 형태의 데이터를 비트 단위로 조작하는 특별한 연산자입니다.
종류 | 연산자 | 설명 |
산술 연산자 | +, -, *, /, //, %, ** | 기본적인 수학 연산 |
비교 연산자 | ==, !=, >, <, >=, <= | 값의 비교 |
할당 연산자 | =, +=, -=, *=, /= | 값의 할당 |
논리 연산자 | and, or, not | 논리적 조건 결합 |
비트 연산자 | &, |, ^, ~, >>, << | 비트 단위 연산 |
멤버십 연산자 | in, not in | 시퀀스 내 포함 여부 |
식별 연산자 | is, is not | 객체 식별 비교 |
1) 비교 연산자
비교 연산자는 두 값을 비교하여 그 관계를 True 또는 False로 반환하는 연산자입니다. 파이썬에서는 수학에서 사용하는 것과 비슷한 기호를 사용하지만, 일부 기호는 컴퓨터에서 입력하기 쉽게 변형되어 있습니다. 예를 들어, 같음을 나타내는 '='은 '=='로, 크거나 같음을 나타내는 '≥'은 '>='로 표현됩니다.
연산자 | 의미 | 예시 |
== | 같다 | 5 == 5 # True |
!= | 같지 않다 | 5 != 3 # True |
> | 크다 | 7 > 3 # True |
< | 작다 | 2 < 8 # True |
>= | 크거나 같다 | 5 >= 5 # True |
<= | 작거나 같다 | 4 <= 3 # False |
# 숫자 비교
x = 10
y = 20
print(x < y) # True
print(x == y) # False
# 문자열 비교
name1 = "Python"
name2 = "python"
print(name1 == name2) # False (대소문자 구분)
# 복합 비교
age = 25
print(18 <= age <= 30) # True
Python
복사
2) 논리연산자
논리 연산자는 여러 개의 조건을 결합하여 하나의 복잡한 조건을 만들 때 사용합니다. 파이썬에서는 and, or, not 세 가지의 논리 연산자를 제공하며, 이를 통해 여러 조건을 조합하여 더 정교한 프로그램을 만들 수 있습니다.
연산자 | 의미 | 예시 |
and | 두 조건이 모두 참일 때만 참 | True and True # True |
or | 두 조건 중 하나라도 참이면 참 | True or False # True |
not | 조건의 결과를 반대로 | not True # False |
# and 연산자 예시
x = True
y = False
print(x and y) # False
print(True and True) # True
# or 연산자 예시
a = True
b = False
print(a or b) # True
print(False or False) # False
# not 연산자 예시
value = True
print(not value) # False
print(not False) # True
# 복합 논리 연산
result = (True and False) or (True and True)
print(result) # True
Python
복사
3) 멤버십 연산자
멤버십 연산자는 특정 값이 시퀀스(리스트, 튜플, 문자열 등)에 포함되어 있는지 확인할 때 사용하는 연산자입니다. 파이썬에서는 'in'과 'not in' 두 가지 멤버십 연산자를 제공합니다.
연산자 | 의미 | 예시 |
in | 포함되어 있으면 True | "a" in "abc" # True |
not in | 포함되어 있지 않으면 True | 4 not in [1,2,3] # True |
# 리스트에서 멤버십 확인
fruits = ["사과", "바나나", "오렌지"]
print("사과" in fruits) # True
print("포도" not in fruits) # True
# 문자열에서 멤버십 확인
text = "Python Programming"
print("Python" in text) # True
print("Java" not in text) # True
Python
복사
4) 식별연산자
식별 연산자는 두 객체가 동일한 메모리 위치를 참조하는지 확인하는 데 사용됩니다. 파이썬에서는 'is'와 'is not' 두 가지 식별 연산자를 제공하며, 이는 객체의 정체성을 비교하는 데 사용됩니다.
연산자 | 의미 | 예시 |
is | 두 객체가 동일한 객체면 True | x is y # 같은 객체인 경우 True |
is not | 두 객체가 다른 객체면 True | x is not y # 다른 객체인 경우 True |
# 식별 연산자 예시
x = [1, 2, 3]
y = [1, 2, 3]
z = x
print(x is z) # True (같은 객체를 참조)
print(x is y) # False (다른 객체)
print(x == y) # True (값은 같지만 다른 객체)
Python
복사
주의사항
•
할당 연산자(=)와 비교 연산자(==)의 차이:
◦
할당 연산자(=)는 변수에 값을 저장할 때 사용합니다. 예: x = 5
◦
비교 연산자(==)는 두 값이 같은지 확인할 때 사용합니다. 예: x == 5
•
문자열 비교 시 주의사항:
◦
대문자와 소문자를 다른 문자로 인식합니다. 예: "Python" != "python"
◦
대소문자를 무시하고 비교하려면 .lower() 또는 .upper() 메서드를 사용합니다.
# lower() 메서드 사용 예시
text1 = "Python"
text2 = "python"
print(text1.lower() == text2) # True
# upper() 메서드 사용 예시
text3 = "python"
text4 = "PYTHON"
print(text3.upper() == text4) # True
# 대소문자 무시하고 문자열 비교
text5 = "Python Programming"
text6 = "PYTHON PROGRAMMING"
print(text5.lower() == text6.lower()) # True
Python
복사
•
타입(자료형의 타입, 데이터의 형태) 비교 시 주의사항
◦
숫자와 문자열 비교: "5" == 5 는 False
◦
다른 타입 비교 전에 type() 함수로 확인하거나, 적절한 형변환을 해야 합니다.
# type() 함수를 사용한 타입 확인 예시
x = 5
y = "5"
z = [1, 2, 3]
print(type(x)) # <class 'int'>
print(type(y)) # <class 'str'>
print(type(z)) # <class 'list'>
# 타입 비교
print(type(x) == type(y)) # False
print(type(x) == int) # True
print(isinstance(z, list)) # True
Python
복사
실제 활용 사례
비교 연산자는 조건문(if-else), 반복문(while), 그리고 데이터 검증 등 프로그래밍의 다양한 상황에서 필수적으로 사용됩니다. if문 페이지에서 상세하게 알아봅시다.
# 로그인 검증
username = "user123"
password = "pass123"
if username == "user123" and password == "pass123":
print("로그인 성공!")
else:
print("로그인 실패.")
# 나이 검증
age = 20
if age >= 18:
print("성인입니다.")
else:
print("미성년자입니다.")
Python
복사
위에서 학습한거 연습해야죠?
연습한거 스레드에 답글이나 피드에 남겨주시면 참 좋겠네요!!!
실습은 colab노트북 상단메뉴에서 “Drive에 사본저장”을 한 후에 실행하세요!
궁금하거나 모르는 부분이 있다면 스레드에 답글을 남겨주세요! 어떤 페이지의 어떤 내용이 궁금한지 구체적으로 알려주시면 더욱 좋습니다. 내용에 대한 응원 메시지도 환영해요!