인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

파이썬/파이썬 코딩 3

[파이썬] 병렬처리(multi-threading, multi-processing)

1. 병렬처리를 하는 이유 프로그램의 실행 속도를 향상 여러 작업을 동시에 처리할 수 있음 2. 멀티스레딩 (Multi - Threading) 2.1. 쓰레드 설명 쓰레드는 프로세스 내에서 실행되는 실행 단위 같은 메모리 공간을 공유 입출력 작업이 많은 시나리오에서 유리 파이썬에서는 `threading` 모듈 사용 멀티스레딩은 자원을 공유해야 하거나 I/O 바운드 작업(I/O-intensive tasks)이 중심이 될 때 효과적. (대량의 데이터를 디스크에서 읽거나 쓰거나, 네트워크를 통해 데이터를 송수신하는 작업을 포함합니다.) 메모리 공유로 인해 데이터 동기화 문제가 발생할 수 있다. 한 스레드의 실패가 전체 프로세스에 영향을 줄 수 있습니다. 2.2. threading 모듈 사용법 쓰레드 생성과 실..

[파이썬] 매직메소드(Magic Methods)

1. 개요 파이썬의 매직 메소드(Magic Methods)는 특별한 의미를 가지는 메소드로, 언더스코어(__)로 시작하고 끝나는 특별한 이름을 가지고 있습니다. 매직 메소드는 사용자 정의 객체들이 내장 타입처럼 자연스럽게 행동하도록 만들어 줍니다. 즉, 개발자가 만든 객체가 자동으로 가지게 되는 함수들을 뜻합니다. 2. 상세 내용 2.1. 객체 초기화 및 소멸 __init__(self, ...): 객체 생성 시 초기화를 위해 호출됩니다. 필요한 초기 설정을 수행합니다. __del__(self): 객체가 소멸될 때 호출됩니다. 필요한 정리 작업을 수행합니다. 2.2. 문자열 표현 __str__(self): 객체의 비공식적이고, 사용자가 이해하기 쉬운 문자열 표현을 위해 사용됩니다. print() 함수 호출..

[파이썬] 제너레이터(Generators)와 이터레이터(Iterators)

1. 설명 제너레이터는 yield 키워드를 사용 이 키워드는 함수의 실행을 일시 중지하고 값을 반환한 다음, 다음 호출 때 실행을 재개할 수 있게 합니다. 제너레이터 함수는 호출될 때 함수 내의 코드를 실행하기 시작하는 것이 아니라, 이터레이터 객체를 반환합니다. 이 이터레이터는 .next() 메서드를 사용하여 값을 요청할 때마다 제너레이터 함수 내의 코드를 실행합니다. 2. 특징 지연 실행 제너레이터는 필요할 때까지 값을 계산하지 않습니다. 즉, 반복의 각 단계에서 다음 값이 필요할 때만 그 값을 생성합니다. 이러한 '지연 실행' 방식은 메모리 사용을 최적화하고, 특히 크거나 무한한 데이터 시퀀스를 다룰 때 유용합니다. 상태 유지 제너레이터는 현재 위치(상태)를 기억합니다. 즉, yield 키워드를 통..

반응형