본문 바로가기
반응형

개발/오늘의 개발일지8

[Python] 반복문에서 요소와 인덱스 활용을 위한 enumerate 이해하기 반복문에서 요소와 인덱스를 효과적으로 활용하기 위한 enumerate 내장함수를 이해합니다.    목차 개발 의도# 리스트 변수 생성alpha = ['a', 'b', 'c', 'd', 'e']# index 생성i = 0for x in alpha: # 인덱스가 짝수일 때만 출력 if i % 2 == 0: print(x) # index 1 증가 i += 1# 출력값: a, c, e- 위와 같이 배열을 생성하고, 홀수 번째 원소를 출력하는 코드를 작성합니다. 문제 상황- 위 코드는 정상적으로 작동합니다. - 단, i = 0와 i += 1 코드 없이 반복문을 활용하는 방법을 찾아봅니다. 문제 원인 파악# 리스트 변수 생성alpha = ['a', 'b', 'c', 'd', 'e'.. 2024. 11. 19.
[Python] 빈 배열 변수에 배열 쌓는 방법 이해하기 빈 배열에 일정한 길이의 배열을 쌓는 방법을 이해합니다.    목차 개발 의도import numpy as np# 기존의 빈 배열 aa = np.array([])for i in range(3): # 새로 쌓을 길이 3의 배열 if len(a) == 0: a = np.array([i, i, i]) else: a = np.vstack((a, np.array([i, i, i])))print(a)# 출력값: [[0,0,0],[1,1,1],[2,2,2]]- 위와 같이 빈 배열 a에 일정한 길이의 배열을 쌓는 코드를 작성합니다. 문제 상황- 위 코드는 정상적으로 작동합니다. -  단, 조건문과 len(a) 없이 배열을 쌓는 코드 작성 방법을 찾아봅니다. 문제 원인 파악impo.. 2024. 11. 18.
[Python] 한줄로 print 문을 출력하기 위한 캐리지 리턴 이해하기 줄 바꿈 없이 print 문을 출력하기 위한 캐리지 리턴을 이해합니다.    목차 개발 의도import time# 계산 과정을 보여주는 예제for i in range(1, 11): # 계산 중인 진행 상태 출력 print(f"진행 중: {i * 10}%") time.sleep(1) # 지연 시간 추가 (계산 시간이 길다고 가정)print("\n완료!")# 출력값: 진행 중: 10% / ... / 진행 중: 100% / 완료!- 위와 같이 반복문 내에서 print 함수를 사용합니다. 문제 상황- 반복문 내에서 print 함수를 사용할 경우      터미널 혹은 콘솔 화면이 지나치게 복잡해질 수 있습니다, 문제 원인 파악- 캐리지 리턴(carriage return)을 의미하는 특수 문자 '.. 2024. 11. 17.
[Python] 스레드 종료를 기다리기 위한 join 이해하기 스레드가 종료될 때까지 메인 프로그램을 대기시키기 위한 방법을 이해합니다.   목차 개발 의도import threadingimport timecount = 0def worker(): global count print("Worker thread is starting") for i in range(5): count += 1 time.sleep(1) print("Worker thread has finished")# 스레드 생성thread = threading.Thread(target=worker)# 스레드 시작thread.start()# count 값 출력print(count)# 출력값: Worker thread is starting / 0 / (5초 뒤) Wor.. 2024. 11. 16.
[Python] 메인 프로그램과 함께 종료되는 데몬 스레드 이해하기 메인 프로그램이 종료될 때, 스레드도 함께 종료하기 위한 방법을 이해합니다.    목차 개발 의도import threadingimport timedef worker(): print("스레드 시작") time.sleep(5) print("스레드 종료")# 스레드를 생성하고 데몬 설정 없이 실행thread = threading.Thread(target=worker)thread.start()print("메인 프로그램 종료")# 출력값: 스레드 시작 / 메인 프로그램 종료 / (5초 뒤) 스레드 종료- 위와 같이 스레드 동작이 완료되기 전에      메인 프로그램을 종료하는 코드를 작성합니다. - 최종 출력값은 "스레드 시작 / 메인 프로그램 종료"가 되며      "스레드 종료"는 출력되지 말.. 2024. 11. 15.
[Python] 하나의 변수에 여러 스레드가 접근하는 것을 막기 위한 Lock 이해하기 여러 스레드가 하나의 변수에 접근하여 수정할 때, 발생할 수 있는 상황을 이해합니다.      목차   개발 의도import threading# 공유 자원shared_variable = 0def increment(): global shared_variable for _ in range(100000): shared_variable += 1# 여러 스레드 생성threads = []for _ in range(10): t = threading.Thread(target=increment) threads.append(t) t.start()# 모든 스레드가 종료될 때까지 기다림for t in threads: t.join()print("최종 값:", shared_variab.. 2024. 11. 14.
반응형