본문 바로가기
[파이썬] os 모듈, 언제 어떻게 쓰면 좋을까? 이번 포스팅에서는 다시 파이썬으로 돌아와 os모듈에 대해 알아본다. 파이썬의 os 모듈은 이름에서 알 수 있듯이 운영체제와 상호작용하는 다양한 기능을 제공하는 라이브러리로, 파일과 디렉토리를 관리하거나 시스템 명령어를 실행하는 등의 작업을 할 때 유용하다. 예를 들어, 운영체제 내의 특정 디렉토리의 파일 목록을 가져오거나, 파일 이름을 수정하고, 디렉토리를 생성하거나 삭제할 때 os 모듈을 사용할 수 있다. 따라서 텍스트, 이미지, 파이썬 파일 등 어떤 종류의 파일이든 다룰 수 있다. os 모듈이 필요한 이유디렉토리나 파일을 핸들링하는 일은 GUI나 CLI에서도 충분히 가능한데 "굳이 왜" 파이썬 os모듈을 사용해야 하는지 의문이 들 수 있다. 하지만 os 모듈은 우리가 일상에서 하는 많은 노가다 업무를.. 2025. 3. 21.
[파이썬기초프로그래밍] 중첩 선택 구조 (feat. 놀이공원) 파이썬 프로그래밍에서 조건에 따라 다른 코드를 실행하는 선택 구조는 매우 중요하다. 특히 복잡한 조건을 처리해야 할 때 중첩 선택 구조가 필수적이다. 중첩 선택문은 영어로 Nested if statement라고 한다. Nested라는 단어에서 알 수 있듯, 중첩 선택문은 if문 안에 또 다른 if문이 들어가 있는 구조다.  "이 안에 너 있다...."가 갑자기 왜 생각나지..ㅋㅋㅋ 중첩 선택문의 구조중첩 선택문은 다음과 같은 구조를 가진다. if 조건 1: # 조건 1이 참일 때 실행되는 코드 if 조건 2: # 조건 1과 조건 2가 모두 참일 때 실행되는 코드 else: # 조건 1은 참이지만 조건 2는 거짓일 때 실행되는 코드else: # 조건 1이 거짓.. 2025. 3. 13.
[파이썬] 슬라이싱 기본 규칙 - 문자열, 튜플, 리스트 파이썬의 슬라이싱 seq[start:stop:step]은 문자열, 리스트, 튜플 등 시퀀스 타입에서 특정 범위를 추출하는 도구로 다음과 같은 규칙을 갖는다. 1. 기본 구조형식: seq[start:stop:step]start: 시작 인덱스 (포함)stop: 종료 인덱스 (제외, 이 인덱스 직전까지 포함)step: 이동 간격 (기본값 = 1)위 세 매개변수는 모두 선택적이며, 생략 시 기본값이 적용된다. 2. 기본 동작슬라이싱은 start에서 시작해 stop 직전까지 step 간격으로 요소를 추출한다. 인덱스는 0부터 시작하며, 음수 인덱스도 사용 가능하다.  예시: text = "Python"인덱스: P(0) y(1) t(2) h(3) o(4) n(5)음수 인덱스: P(-6) y(-5) t(-4) h(-.. 2025. 3. 5.
[파이썬] 딕셔너리 - 딕셔너리 내용을 삭제하는 메서드 메서드/키워드 설명인자반환값특징예시del dict[key]특정 키-값 쌍 삭제키없음키가 없으면 KeyError 발생del my_dict['a']dict.pop(key, default)특정 키를 삭제하고 값을 반환키(기본값)삭제된 값키가 없으면 default 반환, 기본값 없으면 KeyError 발생my_dict.pop('a')dict.popitem()마지막 키-값 쌍을 삭제하고 반환없음(키, 값) 튜플파이썬 3.7+부터는 LIFO 순서로 삭제my_dict.popitem()dict.clear()모든 요소 삭제없음없음딕셔너리를 완전히 비움my_dict.clear()** LIFO(Last In, First Out) : 마지막에 들어온 것이 먼저 나가는 원칙. 즉, 가장 나중에 추가된 요소가 가장 먼저 제거됨... 2025. 2. 21.
[파이썬] 리스트 - 리스트 내용을 삭제하는 메서드 .remove(), .pop(), clear() 비교 메서드기능인자반환값특징remove(x)리스트에서 첫번째로 등장하는 x 삭제삭제할 요소 x(제거할 값을 받음)없음 (None)존재하지 않는 요소를 삭제하려 하면 ValueError 발생pop(i)i번째 요소 제거 후 반환삭제할 인덱스 i (인덱스 지정하지 않으면 마지막 요소 삭제)삭제된 요소인덱스를 벗어나면 IndexError 발생clear()리스트의 모든 요소 삭제없음없음 (None)리스트를 빈 상태 [ ]로 만듦 예제 코드lst = [10, 20, 30, 40, 50]# remove()lst.remove(30) # [10, 20, 40, 50]# pop()removed_item = lst.pop(1) # [10, 40, 50], removed_item = 20# clear()lst.clear() .. 2025. 2. 21.
[파이썬] 정규 표현식(Regex) 문법 - ?, *, +의 차이점 정리 다음 코드 예시는 특정 문자열에 'u'의 포함 여부 및 포함 횟수에 따라 해당 문자열이 패턴에 매치하는지 여부를 판별해주는 프로그램을 나타낸다.import re# 정규 표현식 패턴을 컴파일patterns = [ re.compile(r'colou?r'), # u가 0번 또는 1번 re.compile(r'colou*r'), # u가 0번 이상 re.compile(r'colou+r') # u가 1번 이상]# 테스트 문자열test_strings = [ 'color', # "color"는 u가 없으므로 test case로 사용 'colour', # "colour"는 u가 1번 있음 'colr', # "colr"은 u가 없지만, 다른 경우에도 매칭될지.. 2025. 2. 20.
[파이썬] 정규 표현식(Regex) 1. 컴파일, Match 객체 (예제: 전화번호 찾기) 아래 예제는 정규 표현식(Regular Expression)을 이용해 전화번호 패턴을 찾아내는 프로그램이다. >>> import re>>> phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')>>> mo = phoneNumRegex.search('My number is 415-555-4242.')>>> print('Phone number found: ' + mo.group())Phone number found: 415-555-4242예제 출처: Automate the Boring Stuff with Python  (https://automatetheboringstuff.com/2e/chapter7/) 위 코드를 한 줄씩 살펴보자. import re파이썬 내장 모.. 2025. 2. 20.
[파이썬] pass 문을 자리표시자(placeholder)로 사용하기 파이썬에서 pass 문은 사실상 자리표시자(placeholder)로 사용되어 코드 블록이 비어 있어도 문법 오류를 피할 수 있게 해준다.  함수가 아직 구현되지 않았을 때 코드 블록을 임시로 표시하기 위해 pass 문을 사용한다. 즉, 프로그램이나 함수의 구조를 스케치할 때 사용할 수 있다.  def myFunction():  pass 함수 정의 뿐 아니라 클래스(class), 조건문(if, elif, else), 반복문(for, while) 정의 및 예외처리(try, except)에서도 사용할 수 있다. class MyClass :     pass if condition:     pass for i in range(5):     pass try:     # 코드 실행 except Exception:  .. 2025. 2. 16.