목록Programming/Python (5)
Myo-Kyeong Tech Blog
python 개발을 하다보면 코드의 흐름을 확인하거나 오류를 추적하기 위해 print를 많이 사용하게 됩니다. 하지만 더 조금 더 복잡한 애플리케이션을 개발하거나, 운영 환경에서 문제를 모니터링하려면 print 대신 logging 모듈을 사용하는 것을 더 권장합니다.왜 print 대신 logging을 사용해야 할까?print 는 단순한 디버깅에는 유용할 수 있지만, 큰 애플리케이션이나 운영 환경에서는 logging이 더 유리한 점이 많습니다.1. 로그 레벨을 통한 중요도 구분logging 모듈은 메시지의 중요도에 따라 로그 레벨을 제공하여, 상황에 맞게 로그를 분류할 수 있게 해줍니다. DEBUG개발 시 디버깅을 위해 사용하는 가장 낮은 수준의 로그INFO일반적인 정보 메시지로, 정상적인 실행 과정을 ..
PDB ( Python Debugger ) Python 코드 디버깅을 위한 표준 라이브러리 코드 실행 중에 프로그램을 일시 중지하고 상태를 검사하거나 변수를 조사하여 버그를 찾을 수 있음 프로그램 실행 중에 인터랙티브하게 상호작용할 수 있는 디버깅 환경을 제공 Pdb 사용 방법 디버깅 모드 설정 디버깅이 필요한 지점에 'import pdb; pdb.set_trace()' 코드를 추가 프로그램 실행 중에 이 코드를 만나면 디버거가 시작 import pdb; pdb.set_trace() [사용 예제] # debug_ex.py # 사용자로부터 두 개의 숫자를 입력받아, 그 합과 곱을 출력하는 코드 def multiply_two_numbers(number1, number2): result = number1 * ..
우선순위 큐(Priority Queue) 란? 데이터의 '우선순위'에 따라 데이터를 관리하는 자료구조 '큐(Queue)'라는 자료구조를 확장한 개념 단순히 데이터를 선입선출(FIFO, First In First Out)하는 방식 대신 데이터마다 설정된 '우선순위'에 따라 데이터의 순서가 정해지는 점이 큐와 다름 이해하기 쉽게 예를 들면, 병원의 응급실에서 환자를 처리하는 방식을 생각해 볼 수 있다. 응급실에선 누가 먼저 왔는지 보다는 환자의 상태가 얼마나 심각한지에 따라 순서가 결정된다. 즉, 상황이 급하거나 중요한 환자가 먼저 치료를 받게 된다. 이처럼 '긴급성'이라는 우선순위에 따라 환자의 치료 순서가 정해지는 것이 우선순위 큐와 유사하다. 우선순위 큐(Priority Queue) 사용 파이썬에서 우..
replace() 함수란? `replace()` 함수는 Python의 문자열 메소드 중 하나로, 문자열 내에서 하나의 문자열을 다른 문자열로 교체하는 데 사용됩니다. str.replace(old, new, count) 'old' : 원래 문자열에서 교체될 부분 문자열 'new' : 'old' 가 교체될 새로운 부분 문자열 'count' : 'old'가 교체될 최대 횟수. 기본값은 'None' 이며 선택적 인자. replace() 함수 사용 예시 s = "Hello, World!" s = s.replace("World", "Python") print(s) # "Hello, Python!" "Hello, world!" 라는 문자열에서 "World"를 "Python"으로 바꾸는 예시입니다. 또한, 'count..
기본적인 정렬 방식 Python에서 'sorted()' 함수는 리스트 요소를 기본적으로 오름차순으로 정렬합니다. numbers = [6, 1, 8, 2, 7] sorted_numbers = sorted(numbers) print(sorted_numbers) # 출력: [1, 2, 6, 7, 8] Lambda 함수를 사용한 사용자 정의 정렬 방식 Python에서 'sorted()' 함수는 정렬을 수행하는 데 있어서 'key'라는 매개변수를 제공합니다. 이 'key' 매개변수에 lambda 함수를 전달함으로써, 원하는 방식에 따라 데이터를 정렬할 수 있습니다. sorted(iterable, key=lambda x: ) iterable : 정렬하려는 리스트나 다른 순차적인 자료 구조 : 각 원소에 적용할 표현..