Skip to main content

Python 소개와 기초

Python이란?

  • 범용 프로그래밍 언어임.
  • 통계 외 다양한 용도 사용 가능.
  • 대표 용도 (웹 개발): 유튜브, 인스타그램, 구글 등 서비스 Python으로 개발됨.
  • 쉬운 난이도: C, Java 등 다른 범용 언어 비해 쉬움 (대학 1학년 프로그래밍 교육용으로도 사용).
  • 데이터 분석 활용: 데이터 분석에 많이 활용됨.
  • 사실상 표준: 통계 분석 인접 분야 (머신러닝, 인공지능)에서는 Python이 사실상 표준 언어임.

프로그래밍 언어 인기 (TIOBE Index, KDnuggets Poll 등 참고)

  • (슬라이드 그래프/표 참고) C/C++, Java, JavaScript 등과 함께 Python은 꾸준히 인기 상위권 유지.
  • 데이터 과학/머신러닝 분야에서는 R과 함께 가장 많이 사용되며, Python 단독 사용 비중 증가 추세.

주피터 노트북 (Jupyter Notebook)

  • Python 이용 데이터 분석 위한 프로그램.
  • 작동 방식: 분석 서버에 웹으로 접속하여 구동.
  • 로컬 실행: PC에서 실행 시 PC 자체가 서버 역할.
    • 접속 주소: http://localhost:8888 (localhost = 자기 자신 PC).
  • 클라우드 서비스: 설치 없이 사용 가능한 서비스 존재 (예: Google Colab).

노트북 열기

  • 폴더 선택: 작업할 데이터 파일 있는 폴더 선택.
    • Desktop: 바탕화면
    • Documents: 내 문서
    • Downloads: 다운로드
  • 파일 확인: 해당 폴더 내 데이터 파일 보이는지 확인.
  • 새 노트북 생성: NewPython 3 클릭.

주피터 노트북 코드 실행

  • 단축키: SHIFT + ENTER.
  • 결과 표시: 코드 셀 바로 아래 실행 결과 표시됨.
  • 수정 후 재실행: 코드 수정 후 다시 SHIFT + ENTER 누르면 결과 덮어씀.

Python을 계산기처럼 사용하기

  • 덧셈 (+): 5 + 3 ➡️ 8
  • 뺄셈 (-): 10 - 4 ➡️ 6
  • 곱셈 (*): 7 * 6 ➡️ 42
  • 나눗셈 (/): 10 / 3 ➡️ 3.333... (결과는 항상 float)
  • 정수 나눗셈 (몫) (//): 10 // 3 ➡️ 3
  • 나머지 (%): 10 % 3 ➡️ 1
  • 거듭제곱 (**): 2 ** 4 ➡️ 16 (2의 4제곱)

연산자 우선순위

  • 연산자 우선순위: 일반적인 수학의 연산 순서와 유사
    1. ** (거듭제곱)
    2. - (음수 부호)
    3. *, /, //, % (왼쪽에서 오른쪽으로)
    4. +, - (왼쪽에서 오른쪽으로)
    • 예시: 2 + 3 * 4 ➡️ 2 + 12 ➡️ 14 (곱셈이 먼저)

괄호 안의 표현식이 가장 먼저 계산

예시: (2 + 3) * 4 ➡️ 5 * 4 ➡️ 20 (괄호 안의 덧셈이 먼저)

주석 (Comment)

  • 코드 한 줄에서 # 표시 이후 내용은 주석 처리됨 (실행 안 됨).
  • 코드 설명, 메모 남기기 위한 방법.
    1 + 1 # 더하기 연산

변수 (Variable)

  • 데이터(값)에 이름 붙이는 것.
    x = 3
  • 변수는 값과 동일하게 사용 가능.
    x + 1
  • 한 번 정의한 변수 다시 정의(값 변경) 가능.
    x = 4
  • 할당 연산자(=): 오른쪽 계산 후 왼쪽 변수에 대입.
    x = x + 1 # x의 현재 값에 1을 더한 결과를 다시 x에 저장

변수명 규칙

  • 알파벳, 한글, 한자 등 사용 가능.
  • 알파벳 대소문자 구분함 (appleAPPLE은 다른 변수).
  • 숫자 사용 가능하나(x1), 변수명 첫 글자로는 사용 불가 (1x 불가).
  • 특수 문자 중 밑줄(_) 사용 가능.
  • 띄어쓰기 불가. 대신 밑줄 사용 권장 (예: my_variable).

함수 (Function)

  • 함수이름(인자) 형태로 사용.
  • 예시 (최대값):
    max(1, 2, 3)

퀴즈