연산자
- 피연산자를 이용해 계산을 하는 기호
- 산술 연산자 : +, -, *, /, %, //, **
- 할당 연산자 : =, +=, -=, *=, /=, %=, //=
- 비교 연산자 : >, >=, <, <=, ==, !=
- 논리 연산자 : and, or, not
- 정수, 실수의 산술 연산에서는 기본적으로 범위가 큰 자료형으로 형변환된다.
산술 연산자
덧셈)
- 정수, 실수 덧셈
num1 = 9; num2 = 3
result = num1 + num2
print(f'result : {result}')
fNum1 = 1.3; fNum2 = 3.14
result = fNum1 + fNum2
print(f'result : {result}')
result = fNum1 + num1
print(f'result : {result}')
- 문자(열) 덧셈 : 각 문자를 연결(나열)
str1 = 'Good'; str2 = ' '; str3 = 'morning'
result = str1 + str2 + str3
print(f'result : {result}')
- 숫자와 문자(열) 덧셈 => 연산이 일어날 수 없는 자료형간에는 오류 발생
num1 = 15; str1 = 'hello'
result = num1 + result
뺄셈
- 정수, 실수 뺄셈
num1 = 9; num2 = 3
result = num1 - num2
print(f'result : {result}')
fNum1 = 1.3; fNum2 = 3.14
result = fNum1 - fNum2
print(f'result : {result}')
result = fNum1 - num1
print(f'result : {result}')
- 문자(열) 뺄셈 => 오류 발생
# str1 = 'Good'; str2 = ' '; str3 = 'morning'
# result = str1 - str2 - str3
곱셈
- 정수, 실수 곱셈
num1 = 20; fNum1 = 3.14
result = num1 * fNum1
print('result : {}'.foramt(result))
- 문자(열) 곱셈 : 해당 데이터를 곱한 횟수만큼 반복
str1 = 'Hi
result = str1 * 7
print('result : {}'.format(result))
나눗셈
- 정수, 실수 나눗셈 : 나눗셈 결과는 항상 float형
num1 = 10; num2 = 2
result = num1 / num2
print('result : {}'.format(result))
print('type of result : {}'.format(type(result)))
- 0을 나눗셈하는 경우 : 항상 0
- 0으로 나눗셈하는 경우 : 오류 발생
num1 = 0; num2 = 3
result = num1 / num2
print('result : {}'.format(result))
# 오류 발생
# result = num2 / num1
# print('result : {}'.format(result))
나머지, 몫 연산
- 나머지 연산
- % 기호 사용
- 나눗셈 결과 중 나머지를 반환
num1 = 10; num2 = 3
result = num1 % num2
print('result : {}'.format(result))
- 몫 연산
- // 기호 사용
- 나눗셈 결과 중 몫을 반환
num1 = 10; num2 = 3
result = num1 // num2
print('result : {}'.format(result))
- 나머지-몫연산
- divmod() 함수 사용
- 몫과 나머지를 튜플 형태로 반환 : (몫, 나머지)
- 몫 : 인덱스 0, 나머지 : 인덱스 1
num1 = 10; num2 = 3
result = divmod(num1, num2)
print('result : {}'.format(result))
print('몫 : {}'.format(result[0]))
print('나머지 : {}'.format(result[1]))
거듭제곱
- 거듭제곱 : 같은 수를 여러번 곱하는 연산
- n ** m : n을 m번 제곱
num1 = 2; num2 = 3
result = num1 ** num2
print('result : {}'.format(result))
- 제곱근 : 특정 수가 되기위해 거듭제곱해야하는 수
- **을 활용하여 계산할 수 있다
- n ** (1/m) : n의 m제곱근
# 일반적으로 제곱근은 2제곱근을 의미
# 2의 (2)제곱근
result = 2 ** (1/2)
print('2의 제곱근 %f' % result)
print('2의 제곱근 %.2f' % result)
# 2의 3제곱근
result = 2 ** (1/3)
print('2의 3제곱근 %f' % result)
print('2의 3제곱근 %.2f' % result)
- math 모듈
- sqrt() : 제곱근을 구하는 함수(단, 2제곱근만을 구한다.)
- pow() : 제곱을 구하는 함수
import math
# sqrt()
print('2의 제곱근 %.2f' % math.sqrt(2))
print('3의 제곱근 %.2f' % math.sqrt(3))
print('4의 제곱근 %.2f' % math.sqrt(4))
# pow()
print('2의 3제곱 %.2f' % math.pow(2, 3))
print('3의 4제곱 %.2f' % math.pow(3, 4))
복합 연산자
- 할당(대입) 연산자 = : 오른쪽 값을 왼쪽에 할당(오른쪽 데이터의 연산 진행 후 할당)
- 복합 연산자 : 연산과 대입를 한꺼번에 표현하는 연산자
- += : 덧셈 연산 후 할당
- -= : 뺄셈 연산 후 할당
- *= : 곱셈 연산 후 할당
- /= : 나눗셈 연산 후 할당
- %= : 나머지 연산 후 할당
- //= : 몫 연산 후 할당
- **= : 거듭제곱 연산 후 할당
# += 덧셈
num = 10
num += 3
print('num : {}'.format(num))
# -= 뺄셈
num = 10
num -= 3
print('num : {}'.format(num))
# *= 곱셈
num = 10
num *= 3
print('num : {}'.format(num))
# /= 나눗셈
num = 10
num /= 3
print('num : {}'.format(num))
# %= 나머지
num = 10
num %= 3
print('num : {}'.format(num))
# //= 몫
num = 10
num //= 3
print('num : {}'.format(num))
# **= 거듭제곱
num = 10
num **= 3
print('num : {}'.format(num))
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 문자열 뒤집는 3가지 방법 (0) | 2024.10.23 |
---|---|
[Python] swap, 두 개의 변수를 교환하는 방법 (0) | 2024.10.23 |
[Python] f-string (문자열 포메팅 방법 3) (0) | 2024.10.08 |
[Python] % 서식 기호 (문자열 포메딩 방법 2) (0) | 2024.10.08 |
[Python] format 함수 (문자열 포메팅 방법 1) (0) | 2024.10.08 |