안녕하세요 정쌤 입니다!
저번시간에는 print문으로 글자도 출력해보고 변수에 간단한 값을 넣어보는 시간을 가졌습니다.
다들 기억나시나요?
오늘도 오늘의 학습 목표 먼저 읽고 가겠습니다.
<학습목표>
숫자형 변수를 사용할수있다.
문자형 변수를 사용할수있다.
불 자료형 변수를 사용할수있다.
리스트를 사용할수있다.
튜플을 사용할수있다.
딕셔너리를 사용할수있다.
집합 자료형을 사용할수있다.
이번시간에는 자료형이라는 개념에 대해 자세히 알아볼 것입니다.
저번시간에 배웠던 변수는 다양한 값을 저장한다고 말씀드렸습니다.
변수는 어떤 값을 저장하고 있느냐 에 따라 유형이 달라지는데 이것을 자료형이라고 합니다.
자료형은 크게 숫자형, 문자열자료형, 불 자료형, 리스트 자료형, 튜플 자료형, 딕셔너리 자료형, 집합 자료형 이 있습니다. 하나씩 살펴보겠습니다.
숫자형
숫자형: 숫자형(Number)이란 숫자 형태로 이루어진 자료형으로, 우리가 이미 잘 알고 있는 것입니다. 우리가 흔히 사용하는 것을 생각해 보자. 123 같은 정수, 12.34 같은 실수, 드물게 사용하긴 하지만 8진수나 16진수 같은 것도 있습니다.
정수형
정수형: 정수형(Integer)이란 말 그대로 정수를 뜻하는 자료형을 말합니다. 다음 예는 양의 정수와 음의 정수, 숫자 0을 변수 a에 대입하는 예입니다.
실수형
실수형: 파이썬에서 실수형(Floating-point)은 소수점이 포함된 숫자를 말합니다. 다음은 실수를 변수 a에 대입하는 예입니다.
문자형
문자열: 문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다. 예를 들어 다음과 같은 것들이 문자열입니다.
불 자료형
불 자료형: 불 자료형이란 참(True)과 거짓(False)을 나타내는 자료형입니다. 불 자료형은 다음 2가지 값만을 가질 수 있습니다.
-
True - 참
-
False - 거짓
다음과 같이 변수 a에는 True를, 변수 b에는 False를 지정해 봅시다.
불 자료형은 조건문의 반환 값으로도 사용됩니다. 조건문에 대해서는 if문에서 자세히 배우겠지만 잠시 살펴보고 넘어가보겠습니다.
1 == 1 은 "1과 1이 같은가?"를 묻는 조건문입니다. 이런 조건문은 결과로 True 또는 False에 해당되는 불 자료형을 돌려줍니다. 1과 1은 같으므로 True를 돌려줍니다.
2는 1보다 크기 때문에 2 > 1 조건문은 True를 돌려줍니다.
2는 1보다 작지 않기 때문에 2 < 1 조건문은 False를 돌려줍니다.
리스트
리스트: 리스트(List)란, 순서가 있는 값들의 나열이라고 할 수 있습니다. 리스트를 구성하는 값을 요소 혹은 원소라고 부르며 어떠한 타입의 값이든 리스트의 요소로 올 수 있습니다. 리스트를 사용하면 1, 3, 5, 7, 9 숫자 모음을 다음과 같이 간단하게 표현할 수 있습니다.
여러 가지 리스트의 생김새를 살펴보면 다음과 같습니다.
리스트는 a처럼 아무것도 포함하지 않아 비어 있는 리스트[ ]일 수도 있고 b처럼 숫자를 요솟값으로 가질 수도 있고 c처럼 문자열을 요솟값으로 가질 수도 있습니다. 또한 d처럼 숫자와 문자열을 함께 요솟값으로 가질 수도 있으며 e처럼 리스트 자체를 요솟값으로 가질 수도 있습니다. 즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있습니다.
그림과 같이 하나의 변수만 존재하는 것이 아니라 다양한 값을 저장하고 있는 변수가 여러 개 들어있다고 생각하시면 됩니다. 이런 리스트는 자료를 추가하거나 삭제도 가능합니다.
튜플은 리스트랑 거의같은데 다음과 같은 특징 두개가 다릅니다. 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러쌉니다. 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없습니다. 튜플의 모습은 다음과 같습니다.
리스트와 모습은 거의 비슷하지만 튜플에서는 리스트와 다른 2가지 차이점을 찾아볼 수 있습니다. t2 = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 한다는 것과 t4 = 1, 2, 3처럼 괄호( )를 생략해도 무방하다는 점입니다.
다음은 딕셔너리 자료형입니다.
딕셔너리 자료형
딕셔너리 자료형: 사람은 누구든지 "이름" = "홍길동", "생일" = "몇 월 며칠" 등으로 구별할 수 있습니다. 파이썬은 영리하게도 이러한 대응 관계를 나타낼 수 있는 자료형을 가지고 있습니다.
파이썬에서는 이러한 자료형을 딕셔너리(Dictionary)라고 하는데, 단어 그대로 해석하면 사전이라는 뜻입니다. 즉 "people"이라는 단어에 "사람", "baseball"이라는 단어에 "야구"라는 뜻이 부합되듯이 딕셔너리는 Key와 Value를 한 쌍으로 갖는 자료형입니다. 예컨대 Key가 "baseball"이라면 Value는 "야구"가 될 것입니다.
딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻습니다. 이것이 바로 딕셔너리의 가장 큰 특징입니다.
집합자료형
집합 자료형: 집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. 쉽게 생각해서 집합이라고 생각하시면 편합니다. 우리가 배웠던 집합처럼 중복이 허용되지 않고 집합자료형끼리 교집합 합집합이 가능합니다.
집합 자료형은 다음과 같이 set 키워드를 사용해 만들 수 있다.
위와 같이 set()의 괄호 안에 리스트를 입력하여 만들거나 다음과 같이 문자열을 입력하여 만들 수도 있습니다.
자, 그런데 위에서 살펴본 set("Hello")의 결과가 좀 이상하지 않나요? 분명 "Hello" 문자열로 set 자료형을 만들었는데 생성된 자료형에는 l 문자가 하나 빠져 있고 순서도 뒤죽박죽입니다. 그 이유는 set에 다음과 같은 2가지 큰 특징이 있기 때문입니다.
-
중복을 허용하지 않는다.
-
순서가 없다(Unordered).
리스트나 튜플은 순서가 있기(ordered) 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있지만 set 자료형은 순서가 없기(unordered) 때문에 인덱싱으로 값을 얻을 수 없습니다. 이는 마치 02-5에서 살펴본 딕셔너리와 비슷합니다. 딕셔너리 역시 순서가 없는 자료형이라 인덱싱을 지원하지 않습니다.
<지금까지 배운 내용을 정리>
오늘은 자료형에 대해 공부해보았습니다. 자료형은 추후에 프로그래밍을 할때 절말 중요한 역할을 하니 반복해서 복습하시고 다음에는 이런 자료형을 바탕으로 연산을 하는법을 배워보겠습니다. 아래영상으로 오늘배운내용을 복습하시고 실습창에서 오늘배운 자료형을 한번씩 실습해보시기 바랍니다.
또한 오늘 배운내용을 바탕으로 문제를 만들어보았으니 이것도 한번 풀어보는 것을 권장드립니다. 또한 파이썬을 조금더 심화해서 배우고싶은분은 아래 오픈채팅방을 만들었으니 채팅방에 들어오셔서 학습자료나 제가내는 프로그래밍 퀴즈를 풀어보시는것을 권해드립니다! 모두들 즐거운 하루되세요!
<데이터 타입 동영상>