1.1 내장 타입
Python은 여러 내장 데이터 타입을 제공해서 프로그래밍에서 다양한 문제를 해결할 수 있게 해줘. 일부는 이미 배웠고, 이제 조금 더 자세히 알아보자. 주요 내장 데이터 타입의 간단한 설명은 다음과 같아:
-
int
— 소수점 없는 정수 값이야. -
float
— 소수점을 포함한 숫자(실수)야. -
complex
— 복소수(실수 부분과 허수 부분으로 구성)야. -
str
— 문자들의 순서인 문자열이야. -
bool
—True
나False
값을 가지는 논리 데이터 타입이야. -
None
— 값을 갖지 않는 특별한 타입이야. -
bytes
— 변경 불가능한 바이트들의 순서야. -
bytearray
— 변경 가능한 바이트들의 순서야. -
memoryview
— 데이터를 복사하지 않고 바이너리 형태로 작업할 수 있게 해주는 객체야.
아래 표에는 이 데이터 타입들과 그 특징들이 나와 있어:
데이터 타입 | 설명 | 사용 예시 |
---|---|---|
int |
정수 | x = 10 |
float |
소수점을 포함한 숫자 | y = 3.14 |
complex |
복소수 | z = 1 + 2j |
str |
문자열 | s = "Hello, world!" |
bool |
불 타입 | is_valid = True |
None |
값 없음 | result = None |
bytes |
변경 불가능한 바이트 순서 | b = bytes([50, 100, 76]) |
bytearray |
변경 가능한 바이트 순서 | ba = bytearray([50, 100]) |
memoryview |
메모리에 있는 데이터 표현 | mv = memoryview(b'abc') |
이러한 데이터 타입들을 사용하면 Python에서 기본적인 수치 연산과 텍스트 작업부터 복잡한 바이너리 데이터 처리와 메모리 관리까지 다양한 로직을 구현할 수 있어.
1.2 컬렉션
Python에서는 데이터를 저장하는 것 외에도 객체 그룹 전체를 한 번에 저장할 수도 있어. 이러한 타입을 컬렉션
이라고 부르지. 컬렉션은
여러 요소를 저장, 관리 및 처리할 수 있는 다양한 데이터 구조를 제공해. 아래에
Python의 주요 컬렉션 타입이 나와 있어:
-
list (리스트)
— 변경 가능한 요소들의 순서가 있는 집합이야. -
tuple (튜플)
— 변경 불가능한 요소들의 순서가 있는 집합이야. -
range (범위)
— 일반적으로 반복문에서 사용되는 숫자들의 순서야. -
set (세트)
— 순서가 없는 고유한 요소들의 집합이야. -
dict (딕셔너리)
— 고유한 키를 가진 키-값 쌍들의 컬렉션이야. -
frozenset (고정 세트)
—set
의 변경 불가능한 버전이야.
아래 표에는 이 컬렉션들과 그 특성이 나와 있어:
컬렉션 타입 | 설명 | 예시 |
---|---|---|
list |
변경 가능, 요소들이 반복될 수 있음 | my_list = [1, 2, 3] |
tuple |
변경 불가능, 요소들이 반복될 수 있음 | my_tuple = (1, 2, 3) |
range |
변경 불가능한 숫자 순서 | my_range = range(1, 10) |
set |
고유한 요소들의 순서가 없는 집합 | my_set = {1, 2, 3} |
dict |
키-값 쌍, 키는 고유함 | my_dict = {'a': 1, 'b': 2} |
frozenset |
고유한 요소들의 변경 불가능한 집합 | my_frozenset = frozenset([1, 2, 3]) |
이 컬렉션 각각은 고유한 특성과 메서드를 가지고 있어서, 간단한 데이터 저장부터 복잡한 데이터 처리 및 관리까지 프로그래밍에서 다양한 작업에 적합해. 다음 강의에서 더 자세히 다룰 거야.
1.3 클래스와 객체
내장 타입도 좋지만, 때로는 그것만으로는 충분하지 않을 수 있어. 이럴 때 Python에서는 클래스라는 자체 타입을 선언할 수 있어.
Python에서 클래스는 관련된 함수와 데이터를 묶는 방법을 제공해. 또한, 특정한 행동과 속성을 가진 실제 또는 추상적인 객체들도 모델링할 수 있어.
예를 들어, "스마트폰" 클래스를 설명해야 한다고 상상해 봐. 이 클래스는 모델, 제조사, 기억 용량 및 운영 체제에 대한 데이터를 포함할 수 있어. 또한, 스마트폰의 작동과 관련된 행동을 설명하는 함수(메서드)를 포함할 수 있어, 예를 들면, 전원을 켜고 끄고, 앱을 설치하는 것 등이 있지.
클래스는 class
키워드를 사용해서 만들어져. 이 명령어는 새로운 객체 타입을 만들고, 새로운 클래스가 다른 클래스에서 속성과 메서드를 상속받을 수 있게 해줘.
먼저 이미 존재하는 클래스를 사용하고, 그 객체를 생성하는 법을 배울 건데, 시간이 되면 우리가 직접 클래스를 만들어 볼 거야.
알아두면 좋은 것은 클래스에는 자체 내장 함수(클래스 메서드라고도 불려)가 있어서, 이런 함수는 다음과 같이 호출돼:
객체.함수(파라미터)
기억나지, 우리가 문자열에 format()
함수를 호출했었잖아? 이게 바로 그런 경우였어. 함수, 클래스, 객체에 대해서는 다음 강의에서 더 자세히 알아볼 거야.
GO TO FULL VERSION