데이터 구조(Data Structure)
- 여러 데이터를 효과적으로 사용, 관리하기 위한 구조
- 파이썬에는 대표적으로 List, Tuple, Dict, Set 등의 데이터 구조가 있음
- 컴퓨터공학에서는 ‘자료구조’라고 함
데이터 구조 활용하기
- 데이터 구조를 활용하기 위해서는 메서드(method)를 사용
- 메서드는 클래스 내부에 정의한 함수, 사실상 함수와 동일
- 일종의 객체 기능
- 데이터구조.메서드() 형태로 활용
예시)
str.replace(old, new[,count])
# [ ]는 선택적 인자를 의미
문자열(String Type)
- 문자들의 나열(sequence of characters)
- 모든 문자는 str 타입
- 문자열은 작은 따옴표나 큰 따옴표를 활용하여 표기
- 문자열을 묶을 때 동일한 문장부호를 활용
- PEP8에서는 소스 코드 내에서 하나의 문장부호를 선택하여 유지하도록 함
- 생성된 이후 변경이 불가
리스트(List)
- 리스트는 여러개의 값을 순서가 있는 구조로 저장하고 싶을 때 사용
- 가변 자료형. 생성된 이후 변경이 가능
튜플(Tuple)
- 튜플은 여러개의 값을 순서가 있는 구조로 저장하고 싶을 때 사용
- 리스트와의 차이점은 생성 후 담고있는 값 변경이 불가(불변 자료형)
- 항상 소괄호 형태로 사용
a = (1,2,3,4)
a[0] = 3 # Error!
- 튜플은 변경할 수 없기 때문에 값에 영향을 미치지 않는 메서드만을 지원
- 리스트 메서드 중 항목을 변경하는 메서드들을 제외하고 대부분 동일
연산자(Operator)
멤버십 연산자
- 멤버십 연산자 in을 통해 포함여부 확인 가능
1 in [3, 2]
3 in (1, 2, 3, 'hi')
4 in range(3)
산술연산자
[1, 2] + ['a'] # list
# [1, 2, 'a']
(1, 2) + ('a',) # tuple
# (1, 2, 'a')
range(2) + range(2, 5) # range
# Error!
'12' + 'b' # string
# '12b'
반복연산자
[0] * 8 # list
[0, 0, 0, 0, 0, 0, 0, 0]
(1, 2) * 3 # tuple
(1, 2, 1, 2, 1, 2, 1, 2)
range(1) * 3 # range
# Error!
'hi' * 3 # string
'hihihi'
'Programming Language > Python' 카테고리의 다른 글
[Python]각종 메서드 (0) | 2023.02.18 |
---|---|
[Python]데이터구조2 (0) | 2023.02.18 |
[Python]피보나치수열 만들기 (0) | 2023.02.18 |
[Python]Module (0) | 2023.02.18 |
[Python]함수 - Packing/Unpacking (0) | 2023.02.18 |