파이썬 프로그래밍 기초 - 자료형(1) - velog
쉽게 설명하면, 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 의미한다.프로그램의 기본이자 핵심 단위가 바로 자료형이다 ...
데이터분석3 - 파이썬 프로그래밍 기초 - 자료형(1)

[study](https://velog.io/@suminwooo/posts)

로그인

[study](https://velog.io/@suminwooo/posts)

로그인

# 데이터분석3 - 파이썬 프로그래밍 기초 - 자료형(1)

[우수민](https://velog.io/@suminwooo/posts)·2022년 9월 25일

팔로우

0

[python](/tags/python) [강의자료](/tags/강의자료) [데이터분석](/tags/데이터분석)

0

## [강의 자료](/@suminwooo/series/파이썬-기초-자료)

목록 보기

4/18

![post-thumbnail](https://velog.velcdn.com/images/suminwooo/post/5c023b69-3ac7-4b6a-8426-d2921c81c8e9/image.png)

## 1\. 자료 구조란?

![](https://velog.velcdn.com/images/suminwooo/post/e01b448b-be52-4397-a3b2-f71f7c4159da/image.png)

- 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미한다.
- 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화를 해야 한다.
- 쉽게 설명하면, 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 의미한다.프로그램의 기본이자 핵심 단위가 바로 자료형이다. 계산 프로그램을 만들려면 어떤 것을 계산할지부터 알아야 하고, 데이터베이스 프로그램을 만들려면 어떤 자료를 저장할지부터 알아야 하는 것처럼 기본 중의 기본이다.

## 2\. 자료형

### 2-1. 숫자형 자료형

- 정수형 -\> int
- 실수형 -\> float

```python
# 정수형
a = 1
print(a, type(a))
# 1 <class 'int'>

# 실수형
b = 1.0
print(b, type(b))
# 1.0 <class 'float'>
```

- 기본적인 사칙 연산 가능
- 나눗셈 연산자
1. / : 나누기
2. // : 몫 구하기
3. & : 나머지 구하기

### 2-2. 문자형 자료형

- 문자형 -\> str(), '', "", '''''', """"""

- "파이썬은 0부터 숫자를 센다."

- 문자열 인덱싱, 슬라이싱


```python
# 문자형
a = '1'
print(a, type(a))
# 1 <class 'str'>

# 문자형 자료형 다양한 함수 활용
example = 'Life is too short, You need Python'

# 인덱싱, 슬라이싱
print(example[0])
# 'e'

print(example[-4:])
# 'thon'

print('example[3] :' ,example[3],', example.split(' ')[3] :' , example.split(' ')[3])
# example[3] : e , example.split()[3] : short,

# split 함수 활용
print("a b c a b c".split(" "))
# ['a', 'b', 'c', 'a', 'b', 'c']

print(example.split(' '))
# ['Life', 'is', 'too', 'short,', 'You', 'need', 'Python']

# replace 함수 활용
a = "Life is too short"
a.replace("Life", "Your leg")
# "Your leg is too short"

# strip 함수 활용
a = " hi "
print('왼쪽 공백 제거 : ', a.lstrip(),', 오른쪽 공백 제거 : ',a.rstrip(),', 양쪽 공백 제거 : ',a.strip())
# 왼쪽 공백 제거 :  hi  , 오른쪽 공백 제거 :   hi , 양쪽 공백 제거 :  hi

# join 함수 활용
print(",".join('abcd'))
# 'a,b,c,d'
```

### 2-3. 리스트 자료형

- 리스트명 = \[요소1, 요소2, 요소3, ...\]
- 파이썬은 다른 언어와 달리 리스트를 쉽게 생성 및 구성이 가능
- 인덱싱과 슬라이싱이 가능
- 추가, 수정, 삭제가 자유로움
- 예시


1\. a = \[\] / 빈 리스트


2\. b = \[1, 2, 3\] / 정수형으로 이루어진 리스트


3\. c = \['Life', 'is', 'too', 'short'\] / 문자열로 이루어진 리스트


4\. d = \[1, 2, 'Life', 'is'\] / 정수 + 문자열로 이루어진 리스트


5\. e = \[1, 2, \['Life', 'is'\]\] / 정수 + 리스트로 이루어진 리스트

```python
# 리스트 생성
test_lst=[1,2,3]
print(test_lst, type(test_lst))
# [1, 2, 3] <class 'list'>

# 인덱싱
test_lst[1]
# 2

indexing_lst = [1, 2, ['a', 'b', ['Life', 'is']]] # Life 만 꺼낸다면 ?

# 슬라이싱
test_lst[1:]
# [2, 3]

slicing_lst = [1, 2, 3, ['a', 'b', 'c'], 4, 5] # b,c만 꺼낸다면?

# 리스트 연산
a = [1, 2, 3]
b = [4, 5, 6]
print(a+b)
# [1, 2, 3, 4, 5, 6]

# 리스트 관련 함수 - append
a = [1, 2, 3]
a.append(4)
print(a)
# [1, 2, 3, 4]

# 리스트 관련 함수 - pop
a.pop()
# 4
a.pop(0)
# 1

print(a)
# [2, 3]

# 리스트 관련 함수 - sort, sorted

# sort
sort_lst1 = [1, 4, 3, 2]
sort_lst.sort()
print(sort_lst)
# [1, 2, 3, 4]

sort_lst2 = ['a','c','b']
sort_lst2.sort()
print(sort_lst2)
# ['a', 'c', 'b']

# sorted
sort_lst1 = [1, 4, 3, 2]
sorted(sort_lst1)
# [1, 2, 3, 4]
print(sort_lst1)
# [1, 4, 3, 2]
```

### 2-4. 튜플 자료형

- 리스트명 = (요소1, 요소2, 요소3, ...)
- 튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다.
- 리스트는 \[ \]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.
- 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

```python
a = (1,2,3)
print(a, type(a))
# (1, 2, 3) <class 'tuple'>

a.append(4)
# AttributeError: 'tuple' object has no attribute 'append'
```

### 2-5. 딕셔너리 자료형

- 사람은 누구든지 "이름" = "홍길동", "생일" = "몇 월 며칠" 등으로 구별할 수 있다.
- 파이썬은 영리하게도 이러한 대응 관계를 나타낼 수 있는 자료형을 가지고 있다. 요즘 사용하는 대부분의 언어도 이러한 대응 관계를 나타내는 자료형을 갖고 있는데, 이를 연관 배열(Associative array) 또는 해시(Hash)라고 한다.
- 파이썬에서는 이러한 자료형을 딕셔너리(Dictionary)라고 한다.
- 기본 형태 : {Key1:Value1, Key2:Value2, Key3:Value3, ...}

```python

# 딕셔너리 구조
dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
# Key : 각각 'name', 'phone', 'birth'
# Value :  'pey', '0119993323', '1118'
print(dic, type(dict))
# {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} <class 'type'>

# 딕셔너리 생성, 추가, 삭제, 조회
test_dict = {}
test_dict['a'] = 1
test_dict['b'] =2
test_dict['c'] = [1,2,3]
print(test_dict)
# {'a': 1, 'b': 2, 'c': [1, 2, 3]}

del test_dict['a']
print(test_dict)
# {'b': 2, 'c': [1, 2, 3]}

print(test_dict.keys())
# dict_keys(['b', 'c'])

for k in test_dict.keys():
    print(k)
# b
# c

print(test_dict.values())
# dict_values([2, [1, 2, 3]])

print(test_dict.items())
# dict_items([('b', 2), ('c', [1, 2, 3])])

for key,value in test_dict.items():
    print(key, value)
# b 2
# c [1, 2, 3]
```

### 2-6. 집합 자료형

- 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형
- set 자료형을 정말 유용하게 사용하는 경우는 교집합, 합집합, 차집합을 구할 때이다.

```python
s1 = set([1,2,3,1])
print(s1, type(s1))
# {1, 2, 3} <class 'set'>

s2 = set("Hello")
print(s2)
# {'e', 'l', 'H', 'o'}

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 & s2)
# {4, 5, 6}
print(s1.intersection(s2))
# {4, 5, 6}
print(s1 | s2)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s1.union(s2))
# {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s1 - s2)
# {1, 2, 3}
print(s2 - s1)
# {8, 9, 7}
print(s1.difference(s2))
# {1, 2, 3}
print(s2.difference(s1))
# {8, 9, 7}
```

### 2-7. 불 자료형

- 불(bool) 자료형이란 참(True)과 거짓(False)을 나타내는 자료형이다. 불 자료형은 다음 2가지 값만을 가질 수 있다.


1\. True(1) - 참


2\. False(0) - 거짓
- bool 내장 함수를 사용하면 자료형의 참과 거짓을 식별할 수 있다.

```python
print(1 == 1)
# True

print(2 < 1)
# False

print(bool('python'))
print(bool(''))
# True
# False

print(bool([1,2,3]))
print(bool([]))
# True
# False

print(bool(0))
print(bool(3))
# False
# True
```

- 참고 자료
  - [https://wikidocs.net/book/1](https://wikidocs.net/book/1)

[![profile](https://velog.velcdn.com/images/suminwooo/profile/91bf9395-d336-41c2-b791-93c04a241f80/KakaoTalk_20210401_223925283.jpg)](https://velog.io/@suminwooo/posts)

[우수민](https://velog.io/@suminwooo/posts)

데이터 분석하고 있습니다

팔로우

[이전 포스트\
\
**데이터분석2 - Python 가상 환경**](/@suminwooo/Python-가상-환경)

[다음 포스트\
\
**데이터분석4 - 파이썬 프로그래밍 기초 - 자료형(2)**](/@suminwooo/파이썬-프로그래밍-기초-자료형2)

#### 0개의 댓글

댓글 작성