728x90 전체 글265 [파이썬][중급] Chapter14. collections 모듈 (deque, Counter 등) 파이썬의 collections 모듈은 기본 자료형을 보완한 고급 자료 구조들을 제공합니다. 특히 deque, Counter, defaultdict, OrderedDict, namedtuple은 알고리즘과 실무 프로그래밍에서 자주 사용되는 유용한 도구입니다.● deque (덱)deque는 양쪽 끝에서 빠르게 삽입과 삭제가 가능한 자료 구조입니다. 일반 리스트에 비해 앞쪽에서의 연산이 훨씬 빠릅니다.from collections import dequedq = deque([1, 2, 3])dq.append(4) # 오른쪽 추가dq.appendleft(0) # 왼쪽 추가dq.pop() # 오른쪽 제거dq.popleft() # 왼쪽 제거● CounterCo.. 2025. 5. 18. [파이썬][중급] Chapter13. itertools 모듈 활용법 itertools는 반복 작업을 보다 효율적으로 처리할 수 있게 해주는 파이썬 표준 라이브러리입니다. 조합, 순열, 누적합, 무한 반복 등 다양한 반복자(iterator)를 생성하는 도구들을 제공하여, 복잡한 반복 로직을 간결하게 만들 수 있습니다.● itertools 모듈이란?itertools는 반복 가능한 객체를 생성하거나 조작하는 데 특화된 함수들을 모아둔 모듈로, 대부분의 함수들이 이터레이터를 반환하여 메모리 효율이 뛰어납니다.● 주요 함수 소개count(start=0, step=1): 무한히 증가하는 수열 생성cycle(iterable): iterable을 무한 반복repeat(elem, n): 동일한 요소를 n번 반복accumulate(iterable): 누적합 또는 누적함수 적용product.. 2025. 5. 18. [파이썬][중급] Chapter12. 이터레이터와 커스텀 반복자 만들기 파이썬은 반복 가능한 객체(iterable)와 반복자(iterator) 개념을 명확히 구분합니다. 반복자 프로토콜을 이해하면 우리가 직접 반복 가능한 객체를 만들 수 있으며, 다양한 순회 패턴을 유연하게 구현할 수 있습니다.● 이터러블 vs 이터레이터이터러블(iterable): __iter__() 메서드를 구현한 객체. 리스트, 튜플, 딕셔너리 등이터레이터(iterator): __next__()와 __iter__()를 모두 구현한 객체이터러블은 반복이 가능한 객체를 의미하며, iter() 함수를 통해 이터레이터로 변환됩니다.lst = [1, 2, 3]it = iter(lst)print(next(it)) # 1● 커스텀 이터레이터 클래스 만들기클래스에 __iter__()와 __next__() 메서드를 정.. 2025. 5. 18. [파이썬][중급] Chapter11. 제너레이터 함수와 yield 제너레이터(generator)는 반복 가능한(iterable) 값을 하나씩 생성해주는 함수입니다. yield 키워드를 사용하여 값을 반환하며, 매 호출 시 이전 상태를 유지하기 때문에 메모리 효율성이 뛰어납니다. 특히 대용량 데이터 처리나 무한 시퀀스를 다룰 때 유리합니다.● 제너레이터 함수란?yield 키워드를 포함하는 함수는 제너레이터 함수로 간주되며, 실행 시 함수 내부 코드가 즉시 실행되지 않고 generator object를 반환합니다.def count_up_to(n): i = 1 while i 이 예제는 1부터 n까지의 숫자를 하나씩 생성하며, yield에 도달할 때마다 현재 값이 반환되고 함수 상태가 보존됩니다.● yield vs returnreturn은 함수 실행을 종료하고 단 .. 2025. 5. 18. [파이썬][중급] Chapter10. 데코레이터 함수의 작성과 활용 데코레이터는 함수의 실행 전후에 부가적인 로직을 삽입할 수 있도록 해주는 파이썬 고유의 문법입니다. 기존 함수를 수정하지 않고 기능을 확장할 수 있어 코드의 재사용성과 가독성을 높이는 데 매우 유용합니다.● 데코레이터란?데코레이터는 다른 함수를 인자로 받아, 그 함수에 기능을 추가한 후 반환하는 고차 함수입니다. @데코레이터_이름 형식으로 함수 위에 사용됩니다.def decorator_func(func): def wrapper(): print("함수 실행 전") func() print("함수 실행 후") return wrapper@decorator_funcdef say_hello(): print("Hello!")say_hello()위 예제에서 say_.. 2025. 5. 18. [파이썬][중급] Chapter09. 일급 객체와 클로저 파이썬은 함수도 변수처럼 다룰 수 있는 '일급 객체(First-Class Object)'를 지원합니다. 이 개념은 함수를 변수에 저장하거나, 인자로 전달하거나, 반환값으로 사용할 수 있게 해주며, 클로저(Closure)와 같은 고급 기능을 가능하게 합니다.● 일급 객체란?프로그래밍 언어에서 일급 객체란 다음 조건을 만족하는 요소를 의미합니다.변수에 할당할 수 있음함수의 인자로 전달할 수 있음함수의 반환값으로 사용할 수 있음파이썬의 함수는 이 세 가지 조건을 모두 만족하므로 일급 객체로 분류됩니다.def greet(name): return f"Hello, {name}"say_hello = greetprint(say_hello("Python"))● 클로저(Closure)란?클로저는 함수 내부에 선언된 .. 2025. 5. 18. 이전 1 ··· 3 4 5 6 7 8 9 ··· 45 다음 728x90