파이썬 입문 - 변수와 자료형(숫자형, 문자열)

wine Faster·2026년 4월 18일

파이썬

목록 보기
7/7
post-thumbnail

본 파이썬 강의는 맥북용 Visual Studio Code 편집기를 기반으로 진행되는 강의입니다. 우선 해당 프로그램을 컴퓨터에 다운로드받는 걸 권장드립니다. 또한 맥북과 윈도우스는 실행 환경이 좀 다를 수 있으니 참고 부탁드립니다.
https://code.visualstudio.com/download


컴파일 언어와 인터프리터 언어

개념

  • 컴파일 언어
    → 0과 1만 읽을 수 있는 컴퓨터를 위해, 사람의 언어를 컴파일을 통해 컴퓨터가 이해 가능한 언어로 해석해.

  • 인터프리터 언어
    → 코드를 한 줄씩 해석하면서 실행해.

  • C 언어는 컴파일 언어고, 파이썬인터프리터 언어야.

파이썬 기본 규칙

  • 들여쓰기를 엄격하게 지켜야 해.
  • 문법을 깔끔하게 지켜야 해.

파이썬은 어디에 쓰일까?

  • 웹 프로그래밍: Django, FastAPI, Flask
  • 인공지능과 머신러닝: TensorFlow, PyTorch
  • 수치 연산 프로그래밍: NumPy
  • 데이터 분석: pandas
  • 데이터베이스 프로그래밍: SQLite, MySQL

이것들이 파이썬이랑 무슨 관계냐고?

→ 위에 나열한 것들은 모두 Python 언어에서 사용하는 도구(라이브러리 또는 프레임워크)야.

pip install django

터미널에 위 명령어를 작성해서 실행하면, 로컬또는 가상 환경에 바로 설치해서 사용할 수 있어.


변수(Variable)

먼저 파이썬 문법을 배우기 전에 변수에 대해 알아보자.

변수 = 데이터를 담아두는 상자

a = 3

위 연산을 보면, 우리는 보통 a는 3과 같다고 말하지만,
코딩에서는 "3이라는 숫자를 a라는 상자에 담는다"라고 해석해.

그래서 파이썬으로 코딩하다보면 a = a + 1 와 같은 연산을 많이 보게 될거야, 하지만 만약 우리가 평소에 알던 수학 연산으로 생각하면 완전 말이 안되는 연산이지, 이 규칙을 이해하기 위해서 상자 안에 무엇을 담을 수 있을까 알아 볼까?


자료형(Data Type)

상자 안에 담는 내용을 알기 위해 자료형(Data Type)을 알아보자.

자료형은 다음과 같은 종류가 있어:

  • 숫자
  • 문자열
  • 불(Boolean)
  • 리스트(List)
  • 튜플(Tuple)
  • 딕셔너리(Dictionary)
  • 집합(Set)

이렇게 다양한 자료형을 가진 데이터를 변수 상자에 담을 수 있어.

자료형은 컴퓨터가 데이터를 어떤 종류로 인식하고 다루는지 알려주는 라벨표라고 생각하면 쉬워.

예를 들어:

a = "안녕하세요"   # 문자열
a = 12345        # 숫자

파이썬은 데이터의 종류를 자료형으로 구분해서,
어떤 연산을 할 수 있는지, 어떻게 저장할지를 결정해줘.


숫자형(Number)

먼저 숫자형을 알아보자. 크게 두 가지를 사용해.

1. int (정수형)

소수점이 없는 숫자.

  • 양수, 음수, 0 모두 가능해.
  • 나이, 페이지 번호, 사람 수 등에 사용해.
a = 10000       # 양의 정수
b = -5          # 음의 정수
c = 0           # 0

print(type(a))  # <class 'int'>가 terminal에 출력됨

() 안에 b, c로 바꿔서 뭐가 출력되는지 직접 확인해봐.


실행 방법

코드는 보통 편집기에 작성해.
터미널을 열어서 이렇게 입력하면 실행할 수 있어:

python3 파일이름.py

터미널은 상단 메뉴바에서 Terminal - New Terminal에서 열 수 있어.


연산

연산자는 이렇게 있어:

  • 더하기 +
  • 빼기 -
  • 곱하기 *
  • 나누기 /
  • 제곱 **
  • 나머지 %
  • //

정수는 사칙연산(+, -, *, /)을 주로 사용해.

a = 123
b = 1.9
c = 7

print(a + c)    # 130이 출력됨

나머지와 몫이 좀 낯설 수 있는데, 예시를 들어보자.
7 ÷ 2 = 몫 3, 나머지 1이야.

d = 10

print(d // 3)   # 3 출력
print(d % 3)    # 1 출력

2. float (실수형)

소수점이 있는 숫자.

  • 키, 몸무게, 평균 점수 등에 사용해.
x = 3.14
y = -2.5
z = 0.0
height = 158.7

print(type(x))  # <class 'float'> 출력

() 안에 y, z로 바꿔서 확인해봐.


문자열(String)

이제 문자열을 알아보자.

문자열을 표현하는 방법은 4가지가 있어:

  • "안녕" (큰따옴표)
  • '안녕' (작은따옴표)
  • """안녕""" (큰따옴표 3개)
  • '''안녕''' (작은따옴표 3개)

다양한 문자열 표현 방식은 문자열 안에 따옴표를 포함할 때 특히 유용해.

e = "배가 고프다!"         
f = '123'                  
g = """I'm hungry"""      
h = '''I miss you!'''     

print(type(e))  # <class 'str'>


줄바꿈

줄 바꿈을 하고 싶으면 \n을 사용하면 돼.

i = "오늘은 날씨가 좋은데 \n 뭘 먹을까나?"
print(i)


문자열 연산

문자열(str)은 숫자처럼 더하기(+) 와 곱하기(*) 연산을 할 수 있어.
하지만 빼기(-)나 나누기(/)는 할 수 없어.

  1. 문자열 더하기 (문자열 연결)
  • '+' 기호를 사용하면 두 문자열을 붙여서 하나의 문자열로 만들 수 있어.
name = "선배님"
greeting = "안녕하세요!"

print(greeting + name)           # 안녕하세요!선배님
print(greeting + " " + name)     # 안녕하세요! 선배님   (공백 추가)

first = "Hello"
second = "World"
print(first + " " + second)      # Hello World
  • 문자열과 숫자를 바로 더하면 오류가 발생할 수 있어!
    print("나는 " + 14 + "살입니다.")   # ← 오류 발생!
  1. 문자열 곱하기 (반복)
  • 문자열과 숫자를 *로 곱하면, 그 문자열을 숫자만큼 반복해.
    print("안녕" * 3)          # 안녕안녕안녕
    print("★" * 10)            # ★★★★★★★★★★
    print("=" * 20)            # ====================

문자열 인덱싱 (Index)

  • 문자열은 하나하나의 글자가 순서대로 나열되어 있어.

  • 각 글자에 번호(위치)를 붙여서 접근할 수 있는데, 이걸 인덱싱이라고 해.

  • 인덱스는 항상 0부터 시작해!

  • 대괄호 [ ]를 사용해서 접근.

  • 코드 예시:

    fruit = "apple"
    
    print(fruit[0])   # a   ← 첫 번째 글자
    print(fruit[1])   # p
    print(fruit[2])   # p
    print(fruit[3])   # l
    print(fruit[4])   # e
    
    # 음수 인덱스 (뒤에서부터 세기)
    print(fruit[-1])  # e   ← 마지막 글자
    print(fruit[-2])  # l
    print(fruit[-3])  # p

    ** print할 때 범위를 벗어나면 오류가 발생하니까 주의해.

  • 시각화로 이해하기:

    문자열:   a  p  p  l  e
    인덱스:    0  1  2  3  4
    음수인덱스:      -3 -2 -1

문자열 슬라이싱 (Slicing)

  • 인덱스를 이용해서 문자열의 일부분을 잘라서 가져오는 것을 슬라이싱이라고 해.

  • 형식: 문자열[시작:끝], 시작 위치는 포함, 위치는 포함하지 않음.

    word = "python"
    
    print(word[0:2])    # py     (0부터 2 전까지)
    print(word[2:5])    # tho
    print(word[0:4])    # pyth
    
    # 처음부터 특정 위치까지
    print(word[:3])     # pyt    (0부터 3 전까지)
    
    # 특정 위치부터 끝까지
    print(word[3:])     # hon
    
    # 전체 문자열 복사
    print(word[:])      # python

0개의 댓글