파이썬 기초 - 연산자(1)

이상해씨·2021년 9월 15일
1

◾연산자

  • 피연산자를 이용해 계산을 하는 기호
    • 산술 연산자 : +, -, *, /, %, //, **
    • 할당 연산자 : =, +=, -=, *=, /=, %=, //=
    • 비교 연산자 : >, >=, <, <=, ==, !=
    • 논리 연산자 : 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))
profile
후라이드 치킨

0개의 댓글