Python 자료형(int, float, str, tuple) 완벽 정리

코딩Python
읽는데 9분 소요
처음 쓰여진 날: 2026-04-07
마지막 수정일: 2026-04-07
조회수: 8
선수학습(1개)

요약

Python의 기본 자료형 int, float, bool, str, list, tuple을 정리합니다. type() 함수로 자료형 확인, len() 함수, 자료형 변환(캐스팅)까지 정보처리기사 실기 시험에 필요한 핵심 개념을 쌩기초부터 설명합니다.

자료형 핵심 정리

분류자료형저장하는 데이터예시
숫자형int정수100, -5, 0
숫자형float실수 (소수점이 있는 수)3.14, 100.0
논리형bool참 / 거짓True, False
문자열str문자들의 묶음"hello", "100.0"
시퀀스list변경 가능한 묶음[1, 2, 3]
시퀀스tuple변경 불가능한 묶음(1, 2, 3)

"시퀀스"는 여러 값을 순서대로 묶어 저장하는 자료형을 뜻합니다. 각 항목을 아래에서 하나씩 풀어서 설명합니다.


자료형이란? 쌩기초

자료형(data type)은 변수에 어떤 종류의 데이터가 들어 있는지 를 나타내는 분류표입니다.

Python은 값을 대입하는 순간 그 값이 무엇인지를 보고 자료형을 자동으로 결정합니다. 5를 넣으면 정수, 3.14를 넣으면 실수, 따옴표로 감싼 값을 넣으면 문자열로 판단합니다.1

python
코드 하이라이팅 중...

같은 변수라도 새로운 값을 대입하면 자료형이 바뀔 수 있습니다.

python
코드 하이라이팅 중...

정수형 — int 쌩기초

intinteger(정수)의 약자입니다. 소수점이 없는 수를 저장합니다.

python
코드 하이라이팅 중...

음수, 0, 양수 모두 int입니다. Python의 int는 크기 제한이 없어서 아주 큰 수도 그대로 저장할 수 있습니다.

python
코드 하이라이팅 중...

<class 'int'>는 "이 값은 int 자료형입니다"라는 뜻입니다. type() 함수가 항상 이 형태로 결과를 보여주며, 자세한 내용은 아래 type() 함수로 자료형 확인 섹션에서 다룹니다.


실수형 — float 쌩기초

floatfloating point(부동소수점)의 약자로, 소수점이 있는 수를 저장합니다.

python
코드 하이라이팅 중...

int와 float의 차이는 점(.) 하나

같아 보이는 두 숫자라도 점이 있으면 float, 없으면 int입니다.

python
코드 하이라이팅 중...

이 차이는 시험에서 함정 포인트로 출제된 바 있습니다. 100은 정수, 100.0은 실수로 자료형이 갈립니다.


불 자료형 — bool 기초

boolboolean(불)의 약자로, 참(True) 또는 거짓(False) 두 값만 가질 수 있습니다.

python
코드 하이라이팅 중...

조건식의 결과가 항상 bool입니다.

python
코드 하이라이팅 중...

bool은 int의 하위 자료형입니다

Python에서 bool은 사실 int의 한 종류로 취급됩니다.2 True는 1, False는 0으로 동작하기 때문에 산술 연산에도 사용할 수 있습니다.

python
코드 하이라이팅 중...

문자열 — str 쌩기초

strstring(문자열)의 약자입니다. 문자들을 따옴표로 감싸 묶은 자료형입니다.

python
코드 하이라이팅 중...

따옴표는 큰따옴표("..."), 작은따옴표('...'), 삼중 따옴표("""...""" 또는 '''...''') 모두 사용할 수 있습니다.

숫자처럼 보여도 따옴표로 감싸면 str

출제된 바 있는 함정 포인트입니다. 따옴표로 감싸면 내용이 숫자여도 자료형은 str입니다.

python
코드 하이라이팅 중...

문자열의 슬라이싱, 인덱싱, 메서드 등 자세한 사용법은 Python 문자열 페이지에서 다룹니다.



리스트와 튜플 기초

여러 값을 묶어서 저장하는 자료형입니다. 두 자료형의 가장 큰 차이는 변경 가능 여부 입니다.

list — 변경 가능한 묶음

list는 대괄호 [ ]로 감싸서 만듭니다. 만든 뒤에도 요소를 추가, 수정, 삭제할 수 있습니다.

python
코드 하이라이팅 중...

nums[0]은 첫 번째 요소(0번 인덱스), nums[1]은 두 번째 요소(1번 인덱스)입니다. 인덱스는 항상 0부터 시작합니다.

tuple — 변경 불가능한 묶음

tuple은 소괄호 ( )로 감싸서 만듭니다. 한 번 만들면 요소를 바꿀 수 없습니다.

python
코드 하이라이팅 중...

list vs tuple 한눈에 비교

항목listtuple
괄호대괄호 [ ]소괄호 ( )
변경 가능 여부변경 가능 (mutable)변경 불가 (immutable)
요소 추가append, extend 가능불가
사용 목적자주 바뀌는 데이터 묶음좌표·고정 설정값 등 변하면 안 되는 묶음
자료형 표기<class 'list'><class 'tuple'>

리스트의 메서드와 슬라이싱은 Python 리스트 페이지에서 자세히 다룹니다.

괄호는 수식의 우선순위 표시에도 쓰이기 때문에, (100)만 쓰면 Python은 그냥 정수 100을 괄호로 감싼 것으로 해석합니다. 요소가 하나뿐이라도 tuple임을 명시하려면 쉼표가 반드시 있어야 합니다.

list와 tuple 비교 — list는 인덱스로 요소를 변경할 수 있고, tuple은 변경할 수 없다
list는 만든 뒤에도 요소를 바꿀 수 있지만, tuple은 한 번 만들면 잠겨서 바꿀 수 없습니다

딕셔너리와 집합 한눈에 기초

dict(딕셔너리)와 set(집합)도 Python의 핵심 자료형입니다. 이 페이지에서는 한 줄씩만 정리하고, 자세한 내용은 Python 딕셔너리와 집합 페이지에서 다룹니다.

자료형괄호저장 형태예시
dict{ } (키-값)키와 값의 쌍{"name": "감자", "age": 5}
set{ } (값만)중복 없는 값의 묶음{1, 2, 3}

{}set이 아니라 dict입니다. 빈 set을 만들려면 set()을 사용합니다.


type() 함수로 자료형 확인 기초

type(x)x가 어떤 자료형(클래스)인지를 알려줍니다.

python
코드 하이라이팅 중...

type(x) == type(샘플) 형태로 비교하면 두 값이 같은 자료형인지 확인할 수 있습니다. 이 관용구는 정보처리기사 실기에서 출제된 바 있습니다.

python
코드 하이라이팅 중...

type()을 활용한 분기 문제와 자세한 사용법은 Python 함수 페이지의 type() 섹션에서 다룹니다.


len() 함수 쌩기초

len()은 시퀀스(문자열, 리스트, 튜플 등)의 요소 개수 를 반환합니다.

python
코드 하이라이팅 중...

문자열 길이를 구하는 가장 기본적인 함수이며, 정보처리기사 실기에서 분기 결과가 len()이 되는 문제가 출제된 바 있습니다.


자료형 변환 (캐스팅) 기초

한 자료형의 값을 다른 자료형으로 바꾸는 것을 형변환 또는 캐스팅(casting)이라고 합니다. Python에서는 자료형 이름을 함수처럼 호출하면 됩니다.

python
코드 하이라이팅 중...

bool() 변환 규칙은 단순합니다. 0, 0.0, 빈 문자열 "", 빈 리스트 [], None 같은 '비어있거나 0인 값'은 모두 False이고, 그 외는 모두 True입니다.

자주 등장하는 변환 패턴

원본변환식결과
"100" (str)int("100")100 (int)
"3.14" (str)float("3.14")3.14 (float)
100 (int)str(100)"100" (str)
100 (int)float(100)100.0 (float)
[1, 2, 3] (list)tuple([1, 2, 3])(1, 2, 3) (tuple)
(1, 2, 3) (tuple)list((1, 2, 3))[1, 2, 3] (list)
python
코드 하이라이팅 중...

int()는 소수점 이하를 버립니다 (반올림이 아님). 3.14도, 3.99도 모두 3이 됩니다.


정보처리기사 실기 기출 문제


Footnotes

  1. C나 Java는 변수를 만들 때 int x = 5;처럼 자료형을 직접 적어주어야 합니다. Python은 이 과정이 생략되어 있고, 대입된 값을 보고 자동으로 자료형을 결정하는 방식입니다.

  2. isinstance(True, int)의 결과가 True입니다. boolint의 특별한 종류로 취급되어서 정수가 들어갈 자리에 True/False를 대신 넣을 수 있습니다.