반응형
📘 Day 13. 집합(Set)과 함수(Function)의 기초
1. 집합(Set)
✔️ 특징
- 중복 없이 데이터를 저장
- 순서 없음 → 인덱싱, 슬라이싱 불가
- 가변형 자료형 (값 추가/삭제 가능)
- 집합 연산(합집합, 교집합 등)에 특화된 자료형
✅ 생성 방법
s = {1, 2, 3} # 중괄호 사용
s = set([1, 2, 3]) # list → set 형변환
empty = set() # 빈 set은 반드시 set() 사용
{} 만 쓰면 빈 딕셔너리가 생성되므로 주의
📌 주요 메서드
메서드 설명
add(x) | 요소 추가 |
update(iterable) | 여러 요소 한꺼번에 추가 |
remove(x) | 요소 삭제 (없으면 오류 발생) |
discard(x) | 요소 삭제 (없으면 무시) |
pop() | 임의의 요소 하나 제거 후 반환 |
clear() | 모든 요소 제거 |
copy() | 복사 |
📚 집합 연산 메서드
연산 기호 메서드
교집합 | & | intersection() |
합집합 | ` | ` |
차집합 | - | difference() |
대칭 차집합 | ^ | symmetric_difference() |
update() 계열 메서드는 자기 자신을 갱신함
🔍 포함 관계
메서드 의미
issubset() | 부분 집합 여부 |
issuperset() | 전체 집합 여부 |
isdisjoint() | 공통 요소가 없는지 여부 |
🔁 Set 순회 및 표현
for item in my_set:
print(item)
- 인덱스 기반 접근 불가
- 정렬을 원할 경우 sorted(my_set) 사용
🧱 Set Comprehension
s = {x for x in range(10) if x % 2 == 0}
🧊 frozenset
- 변경 불가능한 집합
- 집합 연산은 가능하지만 add, remove 등은 사용 불가
fs = frozenset([1, 2, 3])
2. 함수(Function)
✔️ 함수란?
- 하나의 기능을 수행하는 논리적 코드 집합
- 코드의 재사용성과 유지 보수성을 높여주는 핵심 개념
🔎 함수가 필요한 이유
- 중복 코드를 줄이고, 반복되는 작업을 효율적으로 처리
- 코드 논리 분리로 가독성과 유지보수성 향상
- 모듈화, 재사용 가능 (→ 라이브러리화 가능)
💡 파이썬에서 가능한 프로그래밍 방식
방식 설명
자료 중심 | 기본 자료형과 제어문 중심 |
구조적 | 함수 중심 프로그래밍 |
객체 지향 | 클래스 기반, 상태+기능 묶음 |
함수형 | 순수 함수 기반, 외부 영향 없이 계산 수행 |
병렬 처리 | 멀티코어 활용 (병렬/비동기 프로그래밍) |
✅ 함수 구조(기초)
def 함수이름(매개변수):
실행할 코드
return 반환값
예시
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
✅ 오늘의 정리
항목 설명
set | 중복 없는 데이터 저장, 순서 없음 |
주요 set 연산 | 합집합(` |
메서드 | add, remove, update, copy, clear, pop 등 |
함수 | 특정 기능을 수행하는 코드 집합 |
함수의 장점 | 코드 중복 방지, 재사용 가능, 유지 보수 용이 |
함수 정의 | def 함수이름(매개변수): return 값 |
다음 차시에서는 함수의 매개변수 종류, 반환값 처리, 그리고 함수가 포함된 모듈의 개념과 활용법을 다룹니다. 모듈은 큰 프로그램을 여러 파일로 나누어 관리할 때 유용합니다.
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
15. 함수 인자 활용과 모듈 개념 이해 (0) | 2025.04.05 |
---|---|
14. 함수(Function)의 정의, 구조, 그리고 호출 방식 (1) | 2025.04.04 |
12. 딕셔너리 메서드와 실전 활용 (0) | 2025.04.02 |
11. 딕셔너리(dict)의 개념과 활용 (1) | 2025.04.01 |
10. 리스트 복사와 고급 활용 (0) | 2025.03.31 |