십대를 위한 코딩/십대를 위한 파이썬

13. 집합(Set)과 함수(Function)의 기초

forSilver 2025. 4. 3. 15:46
반응형

📘 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 값

다음 차시에서는 함수의 매개변수 종류, 반환값 처리, 그리고 함수가 포함된 모듈의 개념과 활용법을 다룹니다. 모듈은 큰 프로그램을 여러 파일로 나누어 관리할 때 유용합니다.