파이썬의 자료형
업데이트:
1. 파이썬의 자료형
파이썬(Python)에선 기본적으로 변수의 타입을 따로 지정하지 않아도 자동으로 자료형을 인식해서 사용된다.
자료형 | |
---|---|
불리언 자료형 | True ,False 값을 가진 자료형 |
정수 자료형 | 0 ,음수 ,양수 값을 가진 자료형 |
실수 자료형 | 3,145 와 같은 소수점을 사용하는 자료형 |
문자열 자료형 | ' ' ," " 따옴표로 감싸진 값 |
리스트 자료형 | [1,2,3] 과 같은 값들의 집합 (추가,수정,삭제 가능) |
튜플 자료형 | (1,2,3) 과 같은 값들의 집합 (추가,수정,삭제 불가능) |
딕셔너리 자료형 | Key : Value 값을 가지는 자료형 |
집합 자료형 | 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형 |
###1.1 파이썬의 자료형 변환
자료형 | |
---|---|
bool() |
불리언형 자료형으로 변환 |
int() |
정수형 자료형으로 변환 |
float() |
실수형 자료형으로 변환 |
str() |
문자열 자료형으로 변환 |
2. 불 자료형
불(bool) 자료형은 참(True)과 거짓(False)를 반환하는 자료형입니다.
>>> t = True
>>> f = False
>>> t
True
>>> f
False
>>> type(t)
<class 'bool'>
>>> type(f)
<class 'bool'>
2.1 불 자료형의 참 거짓
값 | 참 , 거짓 |
---|---|
"python" |
참 |
'' |
거짓 |
[1,2] |
참 |
[] |
거짓 |
() |
거짓 |
{} |
거짓 |
1 |
참 |
0 |
거짓 |
1과 0은 문자열이 아닌 정수형을 말합니다.
값이 0
,null
,none
아닐 경우에 프로그래밍에서 대부분은 무언가 값이 들어있을 경우 참으로 인식합니다.
>>> a = 0
>>> b = bool(a)
>>> b
False
>>> a = 1
>>> b = bool(a)
>>> b
True
# 문자열 0은 True
>>> a = '0'
>>> b = bool(a)
>>> b
True
3. 숫자형
숫자형은 정수, 실수와 같은 숫자 형태로 된 자료형입니다.
>>> a = 10
>>> b = -5
>>> c = 1.54
>>> a + b
5
>>> a + c
11.54
>>> type(a)
<class 'int'>
>>> type(b)
<class 'int'>
>>> type(c)
<class 'float'>
파이썬에선 정수와 실수의 연산에 따로 형변환을 해주지 않아도 자동으로 형변환을 해줍니다.
>>> d=1
>>> type(d)
<class 'int'>
>>> d = a+c
>>> type(d)
<class 'float'>
변수 d의 처음 type은 int
였으나 float
로 type이 변환된 걸 보았습니다.
이렇게 변환되는 이유는 정수보다 실수의 표현 범위가 더 넓기 때문입니다.
3.1 숫자형의 연산자
연산자 | |
---|---|
/ |
나눗셈의 몫을 구하는 연산자 |
// |
나눗셈의 몫을 구하는 연산자 ( 소수점을 제외한 정수값만 반환 ) |
% |
나눗셈의 나머지를 구하는 연산자 |
** |
제곱을 구하는 연산자 |
4. 문자열
"Hello World!"
"777"
문자열이란 이와 같이 우리가 사용하는 문자나 단어, 숫자들로 구성된 집합이다.
여기서 숫자는 숫자형이 아닌가라고 생각할 수도 있겠지만,
>>> a = 11
>>> b = "11"
>>> type(a)
<class 'int'>
>>> type(b)
<class 'str'>
이와 같이 ' '
, " "
따옴표로 감싸져 있으면 모두 문자열로 본다.
4.1 파이썬에서 문자열을 사용하는 4가지 방법
- 큰따옴표(
"
)로 양쪽 둘러싸기 - 작은따옴표(
'
)로 양쪽 둘러싸기 - 큰따옴표 3개(
"""
)로 양쪽 둘러싸기 - 작은따옴표 3개(
'''
)로 양쪽 둘러싸기
예시
>>> str1 = """안녕하세요 저는 "찬호" 입니다"""
>>> str1
'안녕하세요 저는 "찬호" 입니다'
>>> str1 = '안녕 "큰따움표" 사용'
>>> str1
'안녕 "큰따움표" 사용'
4.2 문자열 연산
4.2.1 문자열 더하기
>>> str1 = "Hello"
>>> str2 = "Chan!"
>>> str1 + str2
'HelloChan!'
4.2.2 문자열 곱하기
>>> str1
'='
>>> str1 * 50
'=================================================='
4.2.3 문자열 길이 구하기
>>> str2
'=================================================='
>>> len(str2)
50
5. 리스트(List)
리스트를 사용하는 이유는 간단합니다. 조금더 편하게 집합을 표현하기 위해서 입니다.
예를 들어 동물의 이름들을 나열하라고 한다면
>>> ani1 = 'monkey'
>>> ani2 = 'tiger'
>>> ani3 = 'cat'
>>> ani4 = 'dolphin'
>>> print(ani1,ani2,ani3,ani4)
monkey tiger cat dolphin
위와 같이 표현할 수도 있겠지만 리스트를 사용하면 아래와 같이 더 간편하고 편하게 사용할 수 있습니다.
>>> animal = [ani1, ani2, ani3, ani4]
>>> animal
['monkey', 'tiger', 'cat', 'dolphin']
5.1 리스트 인덱싱
>>> animal
['monkey', 'tiger', 'cat', 'dolphin']
>>> animal[2]
'cat'
>>> animal[0]
'monkey'
>>> str1=animal[0] + animal[2]
>>> str1
'monkeycat'
5.2 리스트 슬라이싱
>>> animal
['monkey', 'tiger', 'cat', 'dolphin']
>>> tmp = animal[2:4]
>>> tmp
['cat', 'dolphin']
>>>
5.3 리스트 연산
- 리스트 더하기 : +
- 리스트 반복하기 : *
- 리스트 길이구하기 : len()
5.4 리스트 수정
>>> animal
['monkey', 'tiger', 'cat', 'dolphin']
>>> animal[1]='dog'
>>> animal
['monkey', 'dog', 'cat', 'dolphin']
5.5 리스트 삭제
>>> animal
['monkey', 'dog', 'cat', 'dolphin']
>>> del animal[1]
>>> animal
['monkey', 'cat', 'dolphin']
5.6 리스트 관련된 함수들
함수 | |
---|---|
append |
리스트의 맨 마지막에 추가 animal.append(‘str’) |
sort |
리스트의 요소를 순서대로 정렬(숫자,문자) |
reverse |
리스트를 역순으로 뒤집기 |
index |
index(value)에서 value 값이 있을 때 그 위치를 반환 |
insert |
animal.insert(0,’dog’) 와 같이 x번째에 값을 삽입하는 함수 |
remove |
remove(value)는 리스트에서 첫 번째로 나오는 value를 삭제하는 함수 |
pop |
pop() : 요소 맨 마지막 반환 후 삭제, pop(x) : x번째 요소를 반환 후 삭제 |
count |
count(x) : 리스트안에 요소 x값이 몇 개가 있는지 |
extend |
extend(x) : x값은 리스트만 적을 수 있고 기존 리스트에서 x 리스트를 더하게 된다. |
6. 튜플(Tuple)
튜플은 기존에 값을 변화시킬 수 없다는 것을 제외하고 리스트(List)와 완전히 동일합니다. 리스트와 마찬가지로 값을 변화시키는 작업 이외에 인덱싱,슬라이싱,더하기,곱하기,길이 구하는 방법은 리스트와 같습니다.
7. 딕셔너리(dictionary)
딕셔너리는 Key
와 Value
를 한 쌍으로 갖는 자료형으로 리스트나 튜플처럼 순차적으로 해당 요소값들을 구하지 않고 Key
값을 통해 Value
값을 얻습니다.
결국 순차적으로 데이터를 찾지 않고 Key
값을 통해 데이터를 찾는다는게 큰 특징입니다.
7.1 딕셔너리를 사용한 예
{Key1:Value1, Key2:Value2, ...}
와 같이 Key
값 과 Value
값으로 이루어진 쌍 여러개를 { } 중괄호로 둘러싸여 있는 구조입니다.
여기서 Key값은 변하면 안되는 상수 값이고, Value는 언제든 변할 수 있는 변수입니다.
7.2 Key값을 통해 Value값 얻기
>>> animal
['monkey', 'cat', 'dolphin']
>>> dic = {'name':'chanho','age':'27','favorite': animal}
>>> dic['name']
'chanho'
>>> dic['favorite']
['monkey', 'cat', 'dolphin']
여기서 한가지 기존에 animal이라는 리스트 값을 딕셔너리의 value 값으로 삽입할 수 있습니다.
만약에 favorite라는 Key
값에 있는 ‘dolphin’이라는 값을 가져오고 싶다면 아래와 같이 사용하여 가져올 수 있습니다.
>>> dic['favorite'][2]
'dolphin'
7.3 딕셔너리를 만들때 주의사항
- 딕셔너리의 Key는 고유한 값으로 중복해서 선언했을 경우 하나를 제외한 나머지 Key들은 무시됩니다.
- 또한 위의 예제에서 처럼
Value
값에List
값 을 삽입할 순 있지만, Key값에는List
값을 삽입할 수 없습니다.
8. 집합 자료형
집합 자료형은 한 변수에 저장된 리스트 또는 문자열에 속해있는 값들을 나열해줍니다.
조금 더 간단하게 설명하자면 집합에 관련된 것들을 쉽게 처리하기 위해 만든 자료형입니다.
set()
키워드를 사용해서 만들 수 있습니다.
8.1 집합 자료형의 사용 예
>>> str = 'aabbccdd112234efg'
>>> s = set(str)
>>> s
{'e', '1', 'd', 'a', 'f', '2', 'g', 'b', '3', 'c', '4'}
>>> str = [1,2,2,3,"asdf","asdf","asde","p"]
>>> s = set(str)
>>> s
{1, 2, 3, 'p', 'asdf', 'asde'}
8.2 집합 자료형의 특징
집합 자료형의 사용 예에서 보여준 결과를 보고 의문사항이 생깁니다.
분명 a,b,c,d,1,2
가 각각 두 개인데 왜 결과 값으로는 하나씩 밖에 안나오지?
- 집합 자료형은 중복을 허용하지 않습니다.
- 집합 자료형은 순서가 없습니다.
댓글남기기