AI/Python 10

[Python] Yield 키워드와 Generator 함수

ContextManager를 공부하다가 나온 yield 키워드. [Python] 파일 읽고 쓰기 with문 - ContextManagerPython에서 자원을 읽고 쓸 때, try-except 문을 사용하지 않고 with문을 사용한다고 한다.try-except 문을 사용해서 파일을 읽고 쓰게 되면, finally에서 연결 끊는 코드를 안해주면 자원을 계속 실행하고itstudentstudy.tistory.com그리고 yield 키워드를 가지고 있는 함수를 Generator 함수라고 하는데,,yield 키워드는 뭐고? Generator 함수는 뭘까?📌 Yield 키워드def test(value): print("_start_") yield value * 10 print("_continue_"..

AI/Python 2025.10.13

[Python] 파일 읽고 쓰기 with문 - ContextManager

Python에서 자원을 읽고 쓸 때, try-except 문을 사용하지 않고 with문을 사용한다고 한다.try-except 문을 사용해서 파일을 읽고 쓰게 되면, finally에서 연결 끊는 코드를 안해주면 자원을 계속 실행하고 있게된다. 직접 해제해줘야함.f = open('file.txt', 'r')try: data = f.read() print(data)finally: f.close() # 리소스를 직접 해제해야 함with문을 사용하면 block을 벗어나면 f.close를 안해줘도 자동으로 연결을 해제해준다.with open('file.txt', 'r') as f: data = f.read() print(data)# with 블록을 벗어나는 순간, f.close()가 자동..

AI/Python 2025.10.12

[Python] 클래스와 변수 + 접근지정자 getter, setter

📌 클래스 변수(Class Variable)와 인스턴스 변수(Instance Variable)클래스 변수 : 클래스가 공유하는 변수 (모든 객체가 같은 값을 가짐)인스턴스 변수 : 객체마다 독립적으로 가지는 변수class Person: # 클래스 변수 species = "Human" def __init__(self, alias): # 인스턴스 변수 self.alias = namep = Person("Tom")print(Person.species) #Human (클래스 변수) print(p.species) # Human (클래스 변수)print(p.alias) # Tom (인스턴스 변수)Person.species = "Changed" # 클래스 변수 ..

AI/Python 2025.10.01

[Python] datetime 모듈

import datetime현재 시간 출력하기now = datetime.datetime.now()#datetime.datetime(2025, 9, 25, 8, 59, 22, 622938)시간 포맷 맞춰서 출력하기now.strftime("%Y.%m.%d %H:%M:%S")# 25.09.25 08:59:22now.strftime("%Y.%m.%d %H:%M:%S")# 2025.09.25 08:59:22now.strftime("%D")# 09/25/25now.strftime("%y{}%m{}%d{} %H:%M:%S").format(*"년월일")#25년09월25일 08:59:22시간 더하기 datetime — Basic date and time typesSource code: Lib/datetime.py The..

AI/Python 2025.09.25

[Python] 입력방법 input(), sys.stdin.readline(), strip()

1. input() 과 sys.stdin.readline() 차이input() 함수파이썬에서 표준 입력을 받을 때 기본적으로 쓰는 함수내부적으로 sys.stdin.readline()을 감싸고 있어서 속도가 조금 느림입력 개수가 적을 때는 큰 차이 없음sys.stdin.readline()표준 입력을 훨씬 더 빠르게 읽음특히 반복문에서 입력을 많이 받을 때 성능 차이가 크게 남\n (개행문자, 줄바꿈 문자)까지 같이 읽음Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다.Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다.2. 개행 문자 문제import s..

AI/Python 2025.09.09

[Python] 모듈 만들기

📌 모듈 만들기.ipynb 파일을 모듈 파일인 .py 확장자를 가진 파이썬 스크립트 파일로 변환 방법1. cmd 창에서 명령어 실행test.ipynb 파일이 test.py 파일이 생성된다.jupyter nbconvert --to script test.ipynb 2. 매직 명령어 사용jupyter cell의 첫 줄에 해당 명령어를 작성 후 코드를 작성해주고 실행. -> test.py 파일이 생성된다.%%writefile test.py매직 명령어는 "%" 하나인 경우 한줄만 실행되고, "%%" 두개를 사용해야 코드 셀 전체에 대해서 실행된다. 📌 모듈 사용하기1. 단일 모듈 불러오기import test2. 모듈에 별명 지정하기import test as tt3. 특정 함수 또는 변수만 불러오기from ma..

AI/Python 2025.09.05

[Python] NumPy list와 Python list 차이

AI 데이터 학습을 시킬 때 다차원 배열과 대용량 데이터를 통해서 진행한다.이 과정에서 Python list는 너무 느리기때문에 C언어 기반 NumPy list를 사용하는 편이다.📌 NumPy list가 뭔데?NumPy (Numerical Python)는 수치 계산할 때 사용하는 라이브러리인데 그 안에 ndarray라고 불리는 다차원 배열을 통해 선형대수 계산을 진행한다.데이터를 참조형태로 가지고 있는 Python list에 비해 ndarray는 연속적인 메모리 블록에 값 형태로 가지고 있어 훨씬 계산이 빠르게 끝낼 수 있다.Python list는 runtime에 타입을 확인하고 결정해야하기 때문에 ndarray보다 속도가 느림.ndarray는 cpu에서 데이터를 가져오는 cache hit rate가 ..

AI/Python 2025.09.04

[Python] 지수 표기 방법 + 2진수, 8진수, 16진수 변환

지수 표기(Exponential Notation)1.2345e10 > 1.2345 * 10^101.2345e-3 > 1.2345 * 10^-32진법 표기이진수 -> 숫자 : 숫자 0과 알파벳 b를 앞에 표기하고 뒤에 이진법 작성숫자 -> 이진수 : bin 함수 사용8진수 표기8진수 -> 숫자 : 숫자 0과 알파벳 o를 앞에 표기하고 뒤에 이진법 작성숫자 -> 8진수 : oct 함수 사용16진수 표기16진수 -> 숫자 : 숫자 0과 알파벳 x를 앞에 표기하고 뒤에 이진법 작성숫자 -> 16진수 : hex 함수 사용10진수2진수8진수16진수1000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C131..

AI/Python 2025.09.03