파이썬 Queue: FIFO & LIFO 이해와 실전 예제 파이썬에서 큐(Queue)란? 큐는 선형 순서로 항목을 저장하는 자료구조입니다. 항목은 뒤쪽(rear)에서 추가되고 앞쪽(front)에서 제거되며, 선입선출(FIFO, First-In First-Out) 원칙을 따릅니다. 큐는 논리적 양끝인 front와 rear를 노출하며, enqueue는 뒤쪽에서, dequeue는 앞쪽에서 수행합니다. 이 튜토리얼에서 배울 내용: 파이썬 queue 모듈 작동 원리 파이썬에서 사용 가능한 큐 종류 모듈 설치 및 임포트 방법 Queu
파이썬 yield 마스터하기: 제너레이터 vs return 실전 가이드 파이썬 yield란 무엇인가? yield 키워드는 return처럼 동작하지만, 값을 즉시 반환하는 대신 제너레이터 객체를 반환하여 반복 가능하게 만듭니다. yield를 포함한 함수가 호출되면, 첫 yield 문에서 실행이 일시 중지되고 제너레이터와 함께 호출자에게 제어권이 돌아갑니다. 이후 next() 호출이나 for 루프로 실행을 재개하여 다음 값을 산출합니다. 핵심 요약 yield는 제너레이터를 생성해 지연 평가(lazy evaluation)를 가능하게 합
파이썬 timeit()으로 실행 시간 측정하기: 실용 예제 파이썬 timeit()이란? 파이썬 timeit()은 작은 코드 조각의 실행 시간을 높은 정밀도로 측정하기 위해 설계된 내장 모듈입니다. 기본적으로 문을 100만 번 실행하고 가장 빠른 실행 시간을 보고하므로, 다양한 구현의 성능을 비교하는 데 도움이 됩니다. 문법 timeit.timeit(stmt, setup, timer, number) 매개변수 stmt – 측정할 코드. 기본값 pass. setup – stmt 전에 한 번 실행할 코드. 기본값 pass. timer –
파이썬 map() 함수 마스터하기: 문법, 예제, 모범 사례 파이썬 내장 map()은 이터러블(리스트, 튜플, 세트, 문자열, 딕셔너리 등)의 모든 항목에 함수를 적용하고 새로운 이터러블을 반환합니다. 파이썬에서 함수형 스타일 프로그래밍의 초석입니다. 배울 내용 문법과 핵심 매개변수 map() 내부 동작 원리 내장 함수와 map() 결합 문자열, 리스트, 튜플, 딕셔너리, 세트에 map() 적용 람다 표현식과 map() 활용 단일 호출로 여러 이터레이터 결합 문법 map(function, iterable1, iterable2,
파이썬 range() 함수 마스터하기: 기초부터 고급 활용까지 파이썬 range란 무엇인가? 파이썬의 range()는 시작, 정지, 선택적 단계(step)를 기반으로 정수 시퀀스를 생성하는 내장 제너레이터입니다. 시작 값이 생략되면 0이 기본값이며, 정지 값(미포함)에 도달할 때까지 1씩 증가합니다. 예를 들어 range(5)는 0, 1, 2, 3, 4를 생성합니다. for 루프로 반복할 때 필수적입니다. 이 튜토리얼에서 배울 내용: range()의 정의와 문법 역사: range() vs xrange() 시작, 정지, 단계로 ra
파이썬 round() 함수 완전 정복: 실용 예제로 이해하기 round() 내장 함수는 파이썬에서 수치 작업을 위한 필수 도구입니다. 지정된 소수점 자릿수로 반올림된 값을 반환하며, 정밀도를 지정하지 않으면 가장 가까운 정수로 반올림합니다. 문법 round(number, ndigits=None) number – 반올림할 숫자 값. ndigits – 선택 사항; 유지할 소수점 자릿수. 생략 시 결과는 정수. 반환값 ndigits가 생략되면 round()는 int를 반환합니다. ndigits가 주어지면 해당 정밀도로 반올림된 flo
파이썬 abs() 함수 – 빠른 참조 abs()는 숫자 입력의 절댓값을 반환하는 파이썬 내장 함수입니다. 정수, 실수, 복소수와 원활하게 작동하여 수학 연산, 데이터 정제, 신호 처리에 필수적입니다. 문법 abs(value) 매개변수 value – 숫자 타입: int, float, complex. 반환값 정수 입력 ➜ 정수 출력 실수 입력 ➜ 실수 출력 복소수 입력 ➜ 복소수의 크기(실수) 실용 예제 1. 정수 & 실수 부호 있는 정수와 실수의 절댓값 계산: # 정수의 절댓값 int_num = -25 print(절댓값
파이썬 람다 함수 마스터하기: 실용 예제 & 모범 사례 람다 함수는 익명 함수라고도 불리며, 작은 일회성 루틴을 한 줄로 작성할 수 있게 해줍니다. map, filter, reduce와 함께 사용할 때 함수형 스타일 코드에서 특히 유용합니다. 람다 함수란 무엇인가? 람다는 def 대신 lambda 키워드로 정의하는 함수입니다. 0개 이상의 매개변수를 받고 단일 표현식의 값을 반환합니다. 본문이 표현식이기 때문에 문장이나 여러 줄을 포함할 수 없습니다. 모든 람다는 세 가지 필수 요소로 구성됩니다: lambda 키워드 하나
파이썬 함수 마스터하기: 정의, 호출, 들여쓰기, 인자 & 반환값 함수는 모든 파이썬 애플리케이션의 기본 구성 요소입니다. 재사용 가능한 로직을 캡슐화하고, 코드를 DRY(Dont Repeat Yourself) 원칙에 맞게 유지하며, 프로그램을 더 쉽게 읽고, 테스트하고, 유지보수할 수 있게 해줍니다. 이 가이드에서는 파이썬 3에서 함수를 작성, 호출, 문제 해결하는 데 필요한 모든 단계를 다루며, 파이썬 2에서 마주칠 차이점도 함께 살펴봅니다. 파이썬에서 함수란 무엇인가? 파이썬 함수는 호출할 때 실행되는 독립적인 코드 블
Python 메인 함수란? 메인 함수는 Python 프로그램의 진입점. 스크립트 직접 실행 시 인터프리터가 코드 순차 실행. def main() 안 코드는 스크립트가 주 모듈일 때만 실행, 다른 곳에서 임포트 시 실행 안 됨. 명확한 예제로 살펴보기. 예제 1: main() 정의 def main(): print(Hello World!) print(Guru99) 이 파일 실행 시 Guru99만 출력. Hello World! 줄은 main() 안에 있어 호출되지 않음. main()을 스크립트가 메인 프로그램으로 실행될
Python String.find()란? String.find() 메서드는 지정된 부분문자열이 문자열에서 처음 나타나는 인덱스 반환. 부분문자열 없으면 예외 대신 -1 우아하게 반환해 부분문자열 검색에 편리한 선택. 이 가이드에서 find() 효과적 사용법, 매개변수 탐구, 관련 메서드 비교, 부분문자열 출현 횟수 세기까지 배웁니다. String.find() 이해 문법과 매개변수 기본 인수 사용 시작 인덱스 지정 시작과 끝 범위 정의 부분문자열 위치 찾기 rfind()와 비교 index()와 비교 부분문자열 발생 횟수 세기 P
Python에서 len()은 객체 내 항목 수 반환하는 내장 함수. 문자열, 리스트, 튜플, 딕셔너리, 기타 컬렉션 작업 시 비용 큰 반복 없이 크기 빠르게 효율적으로 확인 가능. 문법 len(value) 매개변수 value – 길이 측정할 객체. 반환값 제공된 객체 내 요소 수 나타내는 정수 반환. 문자열 문자열에 대해 len()은 공백, 구두점, 특수문자 포함 모든 문자 세기. None 값 전달 시 TypeError 발생 주의. 컬렉션 리스트 & 튜플 – 요소 개수 셈. 딕셔너리 – 키-값 쌍 개수 셈; 키와 값 별개
Python 문자열 format()이란? Python 문자열 format()은 플레이스홀더가 있는 문자열을 유효한 값으로 치환/변환해 최종 문자열 만드는 함수. Python 문자열 클래스 내장 함수로 포맷된 문자열 반환. 플레이스홀더는 중괄호로 정의. 예: “Welcome to Guru99 {}”.format(‘value here’). 이 튜토리얼에서 배울 내용: Python 문자열 format()이란? Python format() 함수 문법 문자열 format() 작동 원리 예제: 빈
Python str.count() 마스터하기: 문자 및 부분문자열 개수 세기 예제 str.count() 메서드는 지정된 부분문자열이 문자열에 몇 번 나타나는지 반환하는 가볍고 내장된 도구. 단일 문자, 다중 문자 패턴, 텍스트 특정 구간 내 개수 세기 등 모두 빠르고 정밀하게 처리. str.count() 사용 이유 대부분 경우 O(n) 시간 복잡도. 제로 의존성: 외부 라이브러리 불필요. 전처리, 데이터 검증, 텍스트 빠른 분석에 이상적. 문법 개요 string.count(sub[, start[, end]]) 매개변수 su
Python strip() 메서드 완전 정복 Python의 strip()은 문자열 양끝에서 원치 않는 문자를 제거하는 내장 문자열 메서드. 기본적으로 앞뒤 모든 공백 제거하지만, 제거할 문자 집합 지정도 가능. 원본 문자열 절대 변경하지 않고 새 정리된 버전 반환. Python strip()이란? strip() 메서드는 Python 핵심 라이브러리 부분으로 데이터 정제, 로깅, 사용자 입력 살균에 필수. 선택적 chars 인자 받음: 대상 문자열 양끝에서 제거할 모든 문자 포함 문자열. 문법 string.strip([chars]
Python에서 모든 엔티티는 객체 – 문자열 포함. 문자열은 단순히 따옴표로 감싼 문자 시퀀스입니다. 예시:var = Hello World! 이 가이드는 실전 예제와 모범 사례로 가장 흔한 문자열 연산 안내. 슬라이싱으로 문자 접근 문자열 연산자와 연결 부분문자열 치환 대소문자 변경 (upper/lower/capitalize) join으로 유연한 연결 문자열 뒤집기 문자열 분할 문자열에서 문자 접근 Python에 별도 문자 타입 없음; 단일 문자는 길이 1 문자열. 대괄호와 인덱스로 슬라이싱. var1 = Guru99! va
Python 객체지향 프로그래밍 (OOP) Python의 OOP 모델은 개발자가 실세계 엔티티를 클래스로 정의된 객체로 모델링하게 합니다. 언어는 코드 재사용과 모듈성을 우선시해 클래스 생성과 확장이 직관적입니다. 클래스란? 클래스는 데이터(속성)와 행동(메서드)을 묶는 논리적 컨테이너. 공통 속성 공유하는 객체들의 템플릿 정의. 예: Customer 클래스는 transactions, balance, debt 같은 속성과 deposit(), withdraw() 같은 메서드 노출 가능. Python에서 클래스 정의하기 간단한 클래
루프는 리스트, 튜플, 문자열, 딕셔너리, 세트 같은 시퀀스 반복을 가능하게 하는 대부분 프로그래밍 언어의 중추입니다. Python에선 for와 while 두 루프 구조가 이 목적 수행. 루프는 조건이 거짓 될 때까지 계속되지만, break, continue, pass 문으로 흐름 변경 가능. 루프 제어 문이란? break – 나타나는 루프 즉시 종료. continue – 현재 반복 나머지 건너뛰고 다음 반복 시작. pass – 아무 동작 안 함; 구문상 블록 필요할 때 인터프리터 만족시키는 플레이스홀더. 이 문들은 개발자에게
Python 루프 마스터하기: for, while, break, continue, enumerate 완전 정복 루프는 반복 프로그래밍의 중추입니다. 조건 충족까지 코드 블록 반복 실행 가능. Python은 두 주요 루프 구조 제공: for(이터레이터)과 while(조건 기반). 루프란? 루프는 문장 집합을 반복 실행. Python에서 루프는 컬렉션 처리, 수열 생성, 정지 기준 도달까지 작업 실행에 사용. for 루프 (이터레이터) for 루프는 이터러블(리스트, 튜플, 문자열, range)의 항목 순회. 이터러블 소진 시 자동
Python에서 조건문이란? 조건문은 불리언 표현식에 따라 다른 코드 블록 실행 가능하게 합니다. Python에서 if 문이 이 의사결정 과정을 이끄는 핵심 구조입니다. 이 가이드에서 if, else, elif, Python의 딕셔너리 기반 스위치-케이스 대안 사용법 탐구. 각 섹션에 개념 설명용 간결 예제 포함. if 문 이해 if 조건 실패 시 else 절 사용 else 흔한 함정 elif로 다중 분기 삼항 표현식으로 로직 간소화 중첩 if 문 딕셔너리로 스위치-케이스 패턴 구현 Python if 문 기초 문법 if exp
python