
※ Scalar (스칼라)
하나의 데이터만 저장하는 자료형입니다. 숫자(int, float), 문자(str) 등이 해당합니다.
a = 10 # int
b = 3.14 # float
c = "hello" # str
print(a, b, c)
→ 변수는 데이터를 직접 담지 않고, 데이터가 저장된 메모리 위치를 가리킵니다.
※ Vector (벡터)
여러 개(0개 이상)의 데이터를 순서대로 저장하는 자료형입니다. 파이썬에서는 list, tuple, str이 대표적인 벡터형 데이터입니다.
numbers = [1, 2, 3, 4] # list
words = ("a", "b", "c") # tuple
text = "python" # str
print(numbers[0]) # 1
print(words[1]) # b
print(text[2]) # t
→ 벡터는 데이터를 순차적으로 접근할 수 있습니다.
※ 문자열 (str)
문자열은 불변(Immutable) 시퀀스입니다. 부분 수정은 불가능하지만, 문자열 메서드를 통해 변환된 새로운 문자열을 만들 수 있습니다.
msg = " Hello World "
print(msg.strip().upper()) # "HELLO WORLD"
→ 문자열 메서드는 원본을 수정하지 않고, 새로운 문자열을 반환합니다.
※ 리스트 (list)
순서를 갖는 객체의 집합으로, 가변(Mutable) 자료형입니다. 내부 데이터를 변경할 수 있습니다.
li = [10, 20, 30]
li[1] = 200
print(li) # [10, 200, 30]
li.append(40)
print(li) # [10, 200, 30, 40]
→ 정렬, 추가, 삭제 등 다양한 메서드를 지원합니다.
※ 튜플 (tuple)
리스트와 유사하지만 불변(Immutable) 자료형입니다. 데이터를 수정할 수 없습니다.
tp = (1, 2, 3)
# tp[0] = 10 # ❌ 오류 발생 (불변)
print(tp[1]) # 2
→ 데이터 안정성을 보장해야 할 때 유용하게 사용됩니다.
※ 불변(Immutable) vs 가변(Mutable)
불변 : str, tuple → 값 자체를 변경할 수 없음
가변 : list, dict, set → 값 변경 가능
s = "Hello"
print(id(s))
s = s + " Python"
print(id(s)) # 새로운 객체가 생성됨
li = [1, 2, 3]
print(id(li))
li[0] = 100
print(id(li)) # 같은 객체 안에서 값만 수정됨
→ 불변 객체는 메모리를 새로 할당하지만, 가변 객체는 같은 메모리 안에서 값만 바꿉니다.
※ Slicing (슬라이싱)
데이터의 일부를 가져올 때 사용합니다. 형식 : [start:end:step]
text = "python"
print(text[0:2]) # py
print(text[2:]) # thon
print(text[::-1]) # nohtyp (역순)
※ Comprehension (컴프리헨션)
데이터 순회문을 간단히 작성하여 list, set, dict 등을 생성하는 방법입니다.
li = [x**2 for x in range(5)]
print(li) # [0, 1, 4, 9, 16]
li2 = [x for x in range(10) if x % 2 == 0]
print(li2) # [0, 2, 4, 6, 8]
→ for문을 줄여 가독성과 효율성을 높이는 문법입니다.
'2025 현대오토에버 모빌리티 SW 스쿨(클라우드 2기) > 파이썬 이론' 카테고리의 다른 글
| [Python] 함수(Function) 완벽 이해 (0) | 2025.09.21 |
|---|---|
| [Python] 연산자와 제어문 (0) | 2025.09.21 |
| [Python] 데이터 타입 완벽 정리 (2) – 고급 자료형 (0) | 2025.09.21 |
| [Python] 파이썬 기본 문법과 구성 요소 (0) | 2025.09.21 |
| [Python] 파이썬 개발 환경과 가상 환경 (0) | 2025.09.21 |