연산 실행에 있어서 여러 식이나 값에 수학적·논리적인 움직임, 즉 어떤 연산을 할 지 지정하는 것.
피연산자
연산의 대상이 되는 것
산술 연산자: +, -, *, /, %, //, **
할당 연산자: =, +=, -=, *=, /=, %=, //=
비교 연산자: >, >=, <, <=, ==, !=
논리 연산자: and, or, not
뎃셈(+)
int + int = int
float + float = float
int + float = float
str + str = str
뺄셈(-)
int - int = int
float - float = float
int - float = float
곱셈(*)
int * int = int
float * float = float
int * float = float
str * int = str (str 내용을 int 수 만큼 반복)
나눗셈(/)
int / int = float
float / float = float
int / float = float
float / int = float
나눗셈 후 나머지(%)
[입력]
a = 10
b = 3
result1 = a / b
result2 = a % b
print(result1, type(result1))
print(result2, type(result2))
[출력]
3.3333333333333335 <class 'float'>
1 <class 'int'>
나눗셈 후 몫(//)
[입력]
a = 10
b = 3
result1 = a / b
result2 = a // b
print(result1, type(result1))
print(result2, type(result2))
[출력]
3.3333333333333335 <class 'float'>
3 <class 'int'>
거듭제곱(**)
[입력]
a = 2 * 2 * 2 * 2
b = 2 ** 4
print(a,"/", b)
[출력]
16 / 16
[예시] n ** (1/m) [n의 m제곱근 구하기]
[입력]
a = 2 ** 8
b = 2 ** 4
c = 2 ** 2
n = 256
m2 = 256 ** (1/2)
m4 = 256 ** (1/4)
m8 = 256 ** (1/8)
print(a, b, c, sep=" / ")
print(m2, m4, m8, sep=" / ")
[출력]
256 / 16 / 4
16.0 / 4.0 / 2.0
할당(대입) 연산자: =
오른쪽의 값을 왼쪽에 할당(대입)
[예시]
a = b
→ b를 a에 할당(대입)
a == b → a 는 b
[=] 과 [==]는 다름!
복합 연산자
a [산술 연산자]= x
→ a = a [산술 연산자] x
→ "=" 좌측 값(a)과 우측 값(x)을 [산술 연산자]로 연산 후 다시 좌측 값(a)으로 할당(대입)
[예시]
a = 10 일 때,
비교 연산자
좌측 값과 우측 값 사이를 비교 연산하여 참, 거짓을 확인
→ 연산 결과는 논리형(bool), 즉 True or False
[예시] 숫자 비교 연산
[입력]
a = 1
b = 2
print("{} < {} : {}".format(a, b, a < b))
print("{} <= {} : {}".format(a, b, a <= b))
print("{} > {} : {}".format(a, b, a > b))
print("{} >= {} : {}".format(a, b, a >= b))
print("{} == {} : {}".format(a, b, a == b))
print("{} != {} : {}".format(a, b, a != b))
[출력]
1 < 2 : True
1 <= 2 : True
1 > 2 : False
1 >= 2 : False
1 == 2 : False
1 != 2 : True
[예시] 아스키 코드를 이용한 문자 비교 연산 (아스키 코드표 링크나 사진 추가 예정)
[입력]
# 아스키 코드 비교 연산
a = "A" # 아스키 코드 A는 십진법 숫자 65에 해당
b = "B" # 아스키 코드 B는 십진법 숫자 66에 해당
print("{} < {} : {}".format(a, b, a < b))
print("{} <= {} : {}".format(a, b, a <= b))
print("{} > {} : {}".format(a, b, a > b))
print("{} >= {} : {}".format(a, b, a >= b))
print("{} == {} : {}".format(a, b, a == b))
print("{} != {} : {}".format(a, b, a != b))
[출력]
A < B : True
A <= B : True
A > B : False
A >= B : False
A == B : False
A != B : True