연산자
연산자는 특정한 연산을 수행하기 위해 사용하는 기호나 키워드 입니다. 프로그래밍 언어에서는 변수나 값에 대해 수학적이거나 논리적인 연산을 수행하는 데 사용됩니다.
피연산자
피연산자는 연산자가 적용되는 대상을 의미합니다. 피연산자는 변수, 상수, 리터럴, 표현식이 될수 있습니다. 피연산자에서 앞에 있는 피연산자는 "왼쪽 피연산자"라고 하고 뒤에 있는 피연산자는 "오른쪽 피연산자"라고 합니다.
연산자의 종류
파이썬에서 연산자는 산술, 비교, 할당, 논리, 비트, 멤버쉽, 식별등이 있습니다.
산술연산자
산술 연산자는 수학적 연산을 수행하는데 사용되는 연산자입니다. 파이썬에서는 덧셈, 뺄셈, 나눗셈, 몫, 지수와 같은 기본적인 산술 연산을 지원합니다.
참고 링크 - W3Schools 파이썬 연산자 - 산술 연산자
더하기(+)
+ 연산자로 사용하여 덧셈연산을 수행합니다.
# 덧셈
print(5 + 2) # 출력: 7
빼기(-)
- 연산자로 뺄셈 연산을 수행합니다.
# 뺄셈
print(5 - 2) # 출력: 3
곱셈(*)
* 연산자로 곱셈 연산을 수행합니다.
# 곱셈
print(5 * 2) # 출력: 10
나누기(/)
/ 연산자로 나눗셈 연산을 수행합니다. 결과 값은 무조건 실수로 반환합니다.
# 나눗셈
print(5 / 2) # 출력: 2.5
몫(//)
// 연산자로 몫을 구하는 연산을 수행합니다. 정수 값을 반환합니다.
# 몫
print(5 // 2) # 출력: 2
나머지(%)
% 연산자로 나머지를 구하는 연산을 수행합니다.
# 나머지
print(5 % 2) # 출력: 1
지수(**)
**연산자로 지수 연산을 수행합니다.
# 지수
print(5 ** 2) # 출력: 25
비교연산자
두값을 비교 할때 사용대며 이 연산자들은 주로 조건문에서 사용됩니다. 주로 조건문에서 사용하고 결과의 값은 Boolean으로 반환합니다.
동등 연산자(==)
두 피연산자의 값이 동일한지 비교하는 데 사용됩니다.
# 동등 연산
print(5 == 5) # 출력: True
print(5 == 2) # 출력: False
부등 연산자(!=)
두 피연산자의 값이 다른지 비교하는 데 사용합니다.
# 부등 연산
print(5 != 5) # 출력: False
print(5 != 2) # 출력: True
크다 연산자(>)
두 피연산자를 비교하고, 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰 경우 True 그렇지 않은 경우 False를 반환합니다.
# '크다' 연산
print(5 > 2) # 출력: True
print(2 > 5) # 출력: False
# 문자열 비교
print('apple' > 'banana') # 출력: False
# 리스트 비교
print([1, 2, 3] > [1, 2, 2]) # 출력: True
작다 연산자(<)
크다 연산자의 반대 개념 입니다.
# '작다' 연산
print(2 < 5) # 출력: True
print(5 < 2) # 출력: False
# 문자열 비교
print('apple' < 'banana') # 출력: True
# 리스트 비교
print([1, 2, 2] < [1, 2, 3]) # 출력: True
크거나 같다 (>=)
피연산자를 비교하고, 왼쪽 피연자의 값이 오른쪽 피연산자보다 값이 크거나 같은경우 True를 반환하고 그렇지 않는 경우 False 반환합니다.
# 문자열 비교
print('apple' < 'banana') # 출력: True
# 리스트 비교
print([1, 2, 2] < [1, 2, 3]) # 출력: True
작거나 같다(<=)
>= 반대 개념입니다.
# '작거나 같다' 연산
print(2 <= 5) # 출력: True
print(5 <= 2) # 출력: False
print(5 <= 5) # 출력: True
논리 연산자
파이썬에서는 and, or not 이라는 세가지 논리 연산자를 사용하고 불리언 값인 True와 False 사이의 논리적인 관계를 표현합니다. 숫자 0은 False로 간주 됩니다.
and
두 피연산자가 모두 True일 때만 True를 반환합니다.
print(True and True) # 출력: True
print(True and False) # 출력: False
print(1 and 2) # 출력: 2
print(0 and 1) # 출력: 0
0 제외한 숫자 논리는 뒤 숫자를 반환합니다
or
두 피연산자 중 하나라도 Ture이면 True를 반환 합니다.
print(True or False) # 출력: True
print(False or False) # 출력: False
print(1 or 2) # 출력: 1
print(0 or 1) # 출력: 1
0 제외한 숫자 논리는 앞 숫자를 반환합니다.
not
피연산자의 불리언 값을 반전시킵니다. True는 False, False는 True로 바뀝니다.
print(not True) # 출력: False
print(not False) # 출력: True
print(not 1) # 출력: False
print(not 0) # 출력: True
할당 연산자
변수에 값을 할당하는 데 사용합니다. 기본 할당 연산자랑 복합 할당 연산자가 있습니다. 복합 할당 연산자는 변수에 값을 할당되는 동시에 연산이 이루어집니다.
=
기본 할당 연산자로 변수에 값을 넣는데 사용되는 연산자 입니다.
x = 5
x, y, z = 1, 2, 3
x = y = z = 1
+=
왼쪽 변수에 오른쪽 값을 더하고 그결과를 동일한 변수에 재할당하는 연산을 합니다.
x = 5
x += 3 # 이제 x는 8
-=
복합 할당 연산자 중 변수에 특정 값을 빼고 그 결과를 통일한 변수에 재할당하는 연산 입니다.
x = 10
x -= 3 # 이제 x는 7
*=
변수에 특정한 값을 곱하고 그결과를 동일한 변수에 재할당 합니다.
x = 5
x *= 3 # 이제 x는 15
/=
변수를 특정한 값을 나눈후 그결과를 재할당 합니다.
x = 10
x /= 2 # 이제 x는 5.0
//=
변수를 특정한 값을 나눈 후 그 결과의 몫을 동일한 변수에 재할당합니다.
x = 10
x //= 3 # 이제 x는 3
%=
변수를 특정한 값으로 나눈 후 그 결과 나머지를 동일한 변수에 재할당 합니다.
x = 10
x %= 3 # 이제 x는 1
**=
변수를 특정한 값으로 거듭제곱한 후 그결과를 동일한 변수에 재할당 합니다.
멤버쉽 연산자
멤버쉽연산자는 시퀸스나 컬렉션에 어떤 값이 포함되어 있는지를 검사할 때 사용합니다. 파이썬에서는 in과 not in 두 가지 멤버쉽 연산자를 제공합니다.
in
문자열, 시퀸스나 컬렉션에 특정 값이 포함되어 있으면 True를 반환합니다.
list = [1, 2, 3, 4, 5]
print(3 in list) # True
print(6 in list) # False
sentence = "Hello, world!"
print("world" in sentence) # True
print("Python" in sentence) # False
not in
문자열, 시퀸스나, 컬렉션에 특정 값이 포함되어 있지않으면 True를 반환합니다.
# 리스트에서 사용하는 예제
numbers = [1, 2, 3, 4, 5]
if 0 not in numbers:
print("0은 리스트에 없습니다.") # 출력: 0은 리스트에 없습니다.
# 문자열에서 사용하는 예제
greeting = "안녕하세요"
if "반갑습니다" not in greeting:
print("인사말에 '반갑습니다'가 포함되어 있지 않습니다.") # 출력: 인사말에 '반갑습니다'가 포함되어 있지 않습니다.
멤버쉽 연산자는 조건문, 반복문 등에서 특정 값의 존재 여부를 판단하는 데 많이 사용합니다.
식별 연산자
파이썬의 식별 연산자는 객체의 식별성(Identity)을 비교하는데 사용됩니다.
is
두 객체의 시별성이 같으면 True를 반환합니다.
# 리스트
list1 = [1, 2, 3]
list2 = list1 # list2는 list1과 같은 객체를 참조합니다.
list3 = [1, 2, 3] # list3는 새로운 객체를 생성합니다.
print(list1 is list2) # True
print(list1 is list3) # False
# None 객체
none1 = None
none2 = None
print(none1 is none2) # True
# 정수
int1 = 5
int2 = 5
int3 = int1
print(int1 is int2) # True
print(int1 is int3) # True
is not
두 객체의 식별성이 다르면 True를 반환합니다.
# 리스트
list1 = [1, 2, 3]
list2 = list1 # list2는 list1과 같은 객체를 참조합니다.
list3 = [1, 2, 3] # list3는 새로운 객체를 생성합니다.
print(list1 is not list2) # False
print(list1 is not list3) # True
# None 객체
none1 = None
none2 = None
print(none1 is not none2) # False
# 정수
int1 = 5
int2 = 6
int3 = int1
print(int1 is not int2) # True
print(int1 is not int3) # False
연산자 우선순위
괄호 > 지수 > 부호 변경 > 곱셈/나눗셈/나머지 > 덧셈/뺄셈 > 비트 이동 > 비트 AND >비트 XOR > 비교 연산 >논리 NOT > 논리 AND > 논리 OR > 조건 연산 > 대입 연산
이 순서는 연산자들이 실행되는 우선 순위를 나타내며, 좌측에 있는 연산자 일수록 우선순위가 높습니다.
자세한 내용은 해당 링크 : 파이썬 공식 문서 - 연산자 우선순위
참고 자료