본문 바로가기

프로그래밍 언어/Python8

파이썬 yield 키워드란? yield 키워드 사용방법 파이썬에서 "yield" 키워드의 작동 방식 파이썬에서 yield 키워드는 제너레이터 함수를 만드는 데 사용됩니다. 일반 함수가 단일 값을 반환하는 것과 달리 제너레이터 함수는 yield를 사용하여 실행을 일시 중단하고 값을 하나씩 반환합니다. 이를 통해 대규모 데이터 세트나 무한 시퀀스를 처리할 때 메모리 효율성을 높일 수 있습니다. 주요 특징: 실행 일시 중단: 함수 내에서 yield를 만나면 실행이 해당 지점에서 일시 중단되고 현재 값이 반환됩니다. 다시 시작하려면 for 루프를 사용하여 제너레이터를 반복해야 합니다. 루프가 반복될 때마다 제너레이터는 중단된 지점부터 계속 실행되며, 다른 yield에 도달하여 또 다른 값을 반환할 수 있습니다. 메모리 효율성: 리스트나 다른 데이터 구조가 모든 요소.. 2024. 2. 22.
파이썬 if __name__ == "__main__" if name == "main": 의 작동 방식 개요: if __name__ == "__main__": 구조는 Python에서 스크립트가 실행되는 방식에 따라 코드의 어떤 부분이 실행될지 제어하는 역할을 합니다. 이것은 스크립트를 직접 실행하는 경우와 다른 스크립트에서 모듈로 가져오는 경우에 따라 코드의 실행 방식을 달리하게 해줍니다. 작동 방식: 스크립트 실행: 스크립트를 직접 실행하면 (python my_script.py 등) __name__ 변수는 "__main__" 값을 갖습니다. 이 경우 if 블록 안에 있는 코드가 실행됩니다. 이 블록은 일반적으로 스크립트의 핵심 기능을 담당합니다. 마치 프로그램의 무대와 같다고 생각하면 됩니다. 모듈 가져오기: 다른 스크립트에서 스크립트를 모듈로 가져오면 (.. 2024. 2. 19.
Numpy 튜토리얼 Numpy는 다차원 배열을 이용해 선형대수, 통계 등의 계산을 빨리할 수 있게 만들어 주는 라이브러리이다. 파이썬 리스트와 넘파이 배열의 차이점 파이썬 리스트: 서로 다른 데이터 타입을 하나의 리스트에 넣을 수 있다. 넘파이 배열(numpy array): 같은 타입의 자료형만 넣을 수 있음 넘파이를 사용하는 이유: 파이썬 리스트보다 빠르며, 메모리를 적게 사용한다. 배열(array)는 넘파이가 사용하는 자료구조. 배열의 모든 구성요소는 같은 타입이다. 이 타입은 dtype이라 한다. 배열은 0이 아닌 정수, 불리안, 다른 배열로 접근 가능하다. 배열의 rank는 차원의 개수 배열의 shape은 각 차원의 크기 넘파이 배열은 파이썬 리스트를 이용해 초기화한다. a = np.array([1, 2, 3]) n.. 2022. 2. 9.
파이썬 문자열 출력 포맷팅 방법 f-string, str.format(), % 파이썬(Python)에서 문자열 출력 형식을 설정하는 세 가지 방법에 대해 알아봅니다. 포맷 문자열(formatted string literals, f-string) Python 3.6 이상에서 동작하는 문법이다. 문자열 앞에 f 혹은 F를 붙여 주고, 중괄호 {, } 안에 변수명을 써서 해당 변수를 참조하여 문자열을 만들 수 있다. 최신 파이썬에서 추가된 만큼 속도 또한 다른 문자열 형식에 비해 빠르다. year = 2016 event = 'Referendum' print(f'Results of the {year} {event}') # 'Results of the 2016 Referendum' 중괄호 안에서 연산을 수행할 수 있다. box = 10 apple = 20 print(f'Total count.. 2022. 1. 8.
파이썬 리스트와 튜플의 차이점 리스트(list) 자료형은 값을 변경시킬 수 있지만, 튜플(tuple)은 값을 변경시킬 수 없다. main.py lst = [1, 2, 3, 4, 5] lst[1] = 6 print(lst) [1, 6, 3, 4, 5] tuple.py tupledata = (1, 2, 3) tupledata[1] = 4 Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment 또한, 튜플은 괄호를 제거하고 선언할 수 있으며, 하나의 원소만 선언할 때는 끝에 콤마(comma)를 붙여야 한다. tuple2.py tupledata = 1, 2, 3, 4 t2 = (1, ) 2021. 4. 24.
파이썬 PIL과 matplotlib을 이용해 이미지를 읽고 쓰기 test.py # PIL module to read and save an image. from PIL import Image import matplotlib.pyplot as plt # Opening image and converting it into grayscale. img = Image.open('image2.png').convert('L') # convert PIL Image object to numpy array img = np.array(img) # We process img_grayscale and obtain img_processed img_processed = image_processing(img) # Converting ndarray to a PIL Image. img_out = Ima.. 2021. 4. 21.
파이썬 cv2와 matplotlib 모듈을 이용한 이미지 읽고 표시하기 test.py # cv2 module's imread to read an image as an ndarray. # cv2 module's imwrite to write an image. import cv2 import matplotlib.pyplot as plt img = cv2.imread('image1.png') # Converting img to grayscale (if needed). img_grayscale = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # We process img_grayscale and obtain img_processed. # The function image_processing can perform any image # processing or .. 2021. 4. 21.