🗄️ 데이터센터
home
주식거래 데이터
home
⚖️

비교와 논리 : 연산자

프로그래밍에서 연산자는 데이터를 처리하고 조작하는 데 사용되는 특별한 기호나 키워드입니다. 연산자를 통해 우리는 프로그램에서 다양한 연산을 수행할 수 있습니다.
각각의 연산자는 고유한 기능을 수행합니다. 예를 들어 더하기(+)나 곱하기(*)와 같은 산술 연산자는 수학적 계산을 수행하고, 등호(=)와 같은 할당 연산자는 변수에 값을 저장합니다. 이러한 연산자들은 프로그래밍의 기본적인 도구이며, 이를 활용하여 다양한 기능을 구현할 수 있습니다.

연산자의 종류

산술 연산자는 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에 사본저장”을 한 후에 실행하세요!
궁금하거나 모르는 부분이 있다면 스레드에 답글을 남겨주세요! 어떤 페이지의 어떤 내용이 궁금한지 구체적으로 알려주시면 더욱 좋습니다. 내용에 대한 응원 메시지도 환영해요!