[Python] 4. 연산자

출처: 나도코딩의 파이썬 입문
김미숙's avatar
Aug 15, 2025
[Python] 4. 연산자

산술 연산자

notion image
  • 정수와 정수를 / 로 나누면 실수가 출력됨
    • 정수로 출력하고 싶으면 // 연산자 사용
      • notion image
notion image
  • ** 는 앞의 수를 뒤의 수 만큼 거듭 제곱
  • % 는 앞의 수를 뒤의 수로 나눈 나머지
 

비교 연산자

  • 값을 비교해서 맞으면 True, 아니면 False
notion image
notion image
 

논리 연산자

  • and: 모두 참이면 참
  • or: 하나라도 참이면 참
  • not: 값이 참이면 거짓, 거짓이면 참
notion image
  • 연산자를 연달아 사용가능
    • a > b > ca > b and b > c
    • notion image
  • 논리 연산자에서 andor는 앞의 연산 결과에 따라 뒤이 연산이 수행되지 않을 수 있는데, 이를 단축평가라고 한다
    • 앞의 연산 결과가 False면 뒤의 연산 결과가 참이건 거짓이건 수행되지 않는다
 

연산자의 우선순위

  • 우선 순위에 따라 연산 순서가 달라지므로 연산자의 우선 순위 확인 필요
notion image

주요 연산자 우선순위

우선순위
연산자
설명
높음
[ ] , { } , ( )
리스트, 딕셔너리, 세트, 튜플
**
거듭제곱
* , / , // , %
곱셈, 나눗셈, 정수 나눗셈, 나머지
+ , -
덧셈, 뺄셈
not, in, < , , >, , , ==
부정, 비교 연산자
and, or
논리 연산자
낮음
=
대입 연산자
 

변수로 연산하기

notion image

복합 대입 연산자

  • += : 왼쪽 값에 오른쪽 값을 더한 후 왼쪽 값에 대입
    • number = number + 2number += 2
  • -= : 왼쪽 값에서 오른쪽 값을 뺀 후 왼쪽 값에 대입
    • number = number - 2number -= 2
  • *= : 왼쪽 값에 오른쪽 값을 곱한 후 왼쪽 값에 대입
    • number = number * 2 number *= 2
  • /= : 왼쪽 값을 오른쪽 값으로 나눈 후 왼쪽 값에 대입
    • number = number / 2number /= 2
  • **= : 왼쪽 값을 오른쪽 값으로 거듭제곱한 후 왼쪽 값에 대입
    • number = number ** 2number **= 2
  • //= : 왼쪽 값을 오른쪽 값으로 나눈 후 몫을 왼쪽 값에 대입
    • number = number // 2number //= 2
  • %= : 왼쪽 값을 오른쪽 값으로 나눈 후 나머지를 왼쪽 값에 대입
    • number = number % 2number %= 2
notion image
  • 정수로 나누기 연산하면 실수 형태가 나오므로 number / 2 이후 부터 실수 형태로 출력됨
 

함수로 연산하기

숫자 처리 함수

주요 숫자 처리 함수
함수
의미
abs(x)
x의 절대값
pow(x, y)
x를 y만큼 거듭제곱한 값
max( )
가장 큰 값
min( )
가장 작은 값
round(x, d)
x를 반올림한 값, d는 표시할 소수점 이하 자릿수. d가 없으면 소수점 이하 첫째 자리에서 반올림한 정수
notion image
 

math 모듈

math 모듈의 숫자 처리 함수
함수
의미
floor( )
내림
ceil( )
올림
sqrt( )
제곱근
  • 모듈: 어떤 기능을 하는 코드를 모아 놓은 Python 파일
    • 직접 만들 수도 있고, 이미 만들어져있는 모듈을 가져와서 사용할 수도 있음
      • 이미 만들어져 있는 모듈을 가져와서 사용할려면 from 모듈명 import 기능 구문 추가 필요
      • 기능 부분에 *를 넣으면 모듈 안 모든 기능을 가져다 쓰겠다는 의미
        • * 는 와일드카드 문자로 모든 것을 지칭할때 사용
      • import 모듈명 으로 작성하면 기능 앞에 기능이 속한 모듈명을 점( . )으로 연결해서 적어야함
notion image
notion image
 

random 모듈

  • 숫자를 무작위로 뽑는 함수
  • 0 이상 1 미만 사이에서 난수를 뽑는 기능을 함
notion image
notion image
⬇ 1부터 45 까지 정수 범위 안에서 로또 번호를 뽑으려면 random( ) 함수로 생성한 난수에 45를 곱해 0.0 이상 45.0 미만인 난수를 생성한 후 int( )로 감싸서 정수로 변환한 뒤 1을 더함 → 1 이상 46 미만인 정수에서 난수 생성됨
notion image
random 모듈의 함수
함수
의미
randrange(시작 숫자, 끝 숫자)
주어진 범위 안에서 정수인 난수 생성 (끝 숫자 미포함)
randint(시작 숫자, 끝 숫자)
주어진 범위 안에서 정수인 난수 생성 (끝 숫자 포함)
notion image
notion image
  • 로또 번호 6개를 추첨하기 위해 6번 반복하면 중복된 번호가 발생할 수 있다
    • random 모듈의 sample( ) 함수를 사용하면 중복된 번호 제거하고 출력 가능
 

실습 문제: 스터디 날짜 정하기

문제

코딩 스터디 모임을 만들었다. 월 4번 모이는데 3번은 온라인으로, 1번은 오프라인으로 모이기로 했다. 조건에 맞는 오프라인 모임 날짜를 정하는 프로그램을 작성하라.

조건

  1. 날짜를 무작위로 뽑는다
  1. 월별 일수가 다르므로 최소 일수인 28일 이내로 정한다 (28일 까지만 날짜 선정)
  1. 매월 1~3일은 스터디를 준비해야하므로 제외
  1. 실행결과는 다음과 같은 형태 (날짜는 무작위 이므로 결과가 다를 수 있다)
    1. 오프라인 스터디 모임 날짜는 매월 18일로 선정됐습니다.

문제 풀기

notion image
 

실습 문제: 연산자를 이용해 온도 단위를 변환하는 프로그램 만들기

조건

  1. 섭씨 온도를 저장하기 위한 변수를 만든다
  1. 다음 공식을 이용해 섭씨 온도를 화씨 온도로 변환하고 새로운 변수에 저장한다.
    1. 화씨 온도 = (섭씨 온도 * 9 / 5) + 32
  1. 섭씨 온도와 화씨 온도를 다음과 같이 출력
    1. # 섭씨 온도가 30도일 때 섭씨 온도 : 30 화씨 온도 : 86.0 # 섭씨 온도가 10도일 때 섭씨 온도 : 10 화씨 온도 : 50.0
 

문제 풀기

notion image
Share article

parangdajavous