파이썬 기초 문법 강의 – 2일차 자료형
오늘은 파이썬의 기초 문법 중에서 자료형에 대해서 알아보겠습니다.
자료형이란?
기본적으로 자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열 등과 같이 자료 형태로 사용하는 모든 것을 말합니다. 즉 프로그램의 기본이자 핵심 단위가 바로 자료형이라고 할 수 있습니다.
일반적인 프로그램 개발시 분석 – 설계 – 구현 -시험의 프로세스로 진행되고 이때 기본적으로 어떤 데이터를 가지고(input) 어떤 결과(output)으로 나타날지 정하는 것이 가장 먼저입니다.
텍스트를 입력 엑셀로 출력한다던지 우리가 일할 때도, 보고서를 PPT형식으로 만들 것인지 워드 형태인지가 가장 중요한 것처럼 말입니다.
파이썬 자료형
파이썬의 자료형은 조금 차이가 있으나, 기본적으로 아래와 같은 형태를 나타냅니다.
- 숫자형 : 숫자를 나타내는 형태
- 문자형 : 문자를 나타내는 형태
- 딕셔너리 : 이름 = 홍길동 처럼 대응 관계
- 불 : 참 거짓(T/F)을 나타내는 자료형
- 집합 : 순서가 없는 집합
- 리스트 : 순서가 있는 자료형
이 중에서 시퀀스가 중요한데요.
튜플과 리스트 차이
시퀀스에는 튜플과 리스트가 있는데요. 튜플과 리스트는 비슷한 역할을 하지만, 튜플은 값을 변화시킬 수 없고, 리스트는 값을 변화 시킬 수 있다는 차이점이 있습니다. 리스트와 튜플 세트, 딕셔너리의 비교는 아래를 참고하시면 됩니다.
분류 | 타입 | 특징 | 예시 |
---|---|---|---|
시퀀스(sequence) | 리스트(list) | 순서가 있고, 가변(mutable) | [1, 2, 3] |
시퀀스(sequence) | 튜플(tuple) | 순서가 있고, 불변(immutable) | (1, 2, 3) |
세트(set) | 세트(set) | 순서가 없고, 중복을 허용하지 않음 | {1, 2, 3} |
맵(map) | 딕셔너리(dictionary) | 순서가 없고, key/value 쌍으로 이루어짐 | {‘a’: 1, ‘b’: 2, ‘c’: 3} |
기본적으로 튜플은 불편하여 저장 공간이 적고 속도가 빠르다는 장점이 있습니다. 이와 달리 리스트는 변경 가능하기 때문에 저장공간을 더 많이 차지하게 되고 처리속도가 더 느립니다.
type을 통해서 변수의 타입을 확인할 수 있습니다.
a = [1,2,3]
b = (1,2,3)
print(type(a))
print(type(b))
파이썬 인덱스와 슬라이싱
리스트에서는 파이썬의 독특한 시스템인 인덱싱과 슬라이싱을 할 수 있습니다.
기본적으로 인덱싱(index)은 단어의 뜻처럼 어떤 자료형의 원하는 자릿수의 값을 나타내는 것입니다. 즉 우리가 숫자 단위를 사용할 때, 예를 들어 123,456이라는 숫자는 읽을 때 12만 3천4백5십6이라고 읽습니다.
이 때 천의 자리수를 인덱싱한다고 생각하면 3이 됩니다. 간단한 파이썬 예제를 통해서 알아보겠습니다. 기본적으로 파이썬은 변수[인덱싱번호]의 형태로 사용하게 되는데요.
슬라이싱의 경우 시작점/끝점/자르는크기(step)의 형태로 사용됩니다.
# Indexing (인덱싱)
s = 'python'
print(s[0])
결과 : p
# Slicing (슬라이싱)
# 변수이름[시작점:끝점:step(스텝))]
a = 'pythontest'
print(a[:3])
결과 : pyt
print(a[0:3])
결과 : pyt
print(a[0::2])
결과 : ptots
이 스텝은 아래와 같이 다양하게 사용될 수 있습니다.
그리고 리스트에 값을 추가하거나 뺄 수 있는데요.
pop(위치) : 리스트의 위치에 있는 값 출력하고, 해당 요소를 삭제
index(값) : 리스트에서 값이 저장된 요소의 위치 반환
count(값) : 리스트에서 값이 저장되어 있는 요소들의 개수 반환
extend(리스트) : 리스트 끝에 새로운 리스트 추가하여 확장
reverse() : 리스트 역순으로 뒤집기
sort() : 리스트 정렬, 오름차순 / sort(reverse = True): 내림차순
copy() : 리스트 복사 ex) a = [1,2,3] b = a.copy()
그리고 이제 출력을 정리할 수 있는데요.
파이썬 출력하기
파이썬 출력은 print()함수를 사용합니다. 그리고 이제 이 출력문에 옵션을 줘서 출력 결과를 보다 편리하게 볼 수 있는데요.
x= 10
y = 11
z = 3.14159
print(x)
print("x is {0}" .format(x))
print(f'y is {y}')
print(f'z is {z:.2f}')
출력물을 보면 간단히 x라고 출력하거나 내용을 추가할 수 있는데요.
문자열 앞에 f를 붙여, 중괄호와 변수 이름으로 문자열에 원하는 변수를 삽입할 수 있는 형태를 가장 많이 사용합니다.
오늘은 가장 기본적인 파이썬의 자료형에 대해서 알아보았는데요. 이제 주요 문법에 대해서 알아보도록 하겠습니다.