1. 파이썬 예제 코드

파이썬의 가장 기본적인 문법부터 실무에서 활용 가능한 응용 기술, 그리고 데코레이터와 비동기 프로그래밍 같은 심화 개념까지 단계별로 학습할 수 있는 예제 코드 모음입니다.

1.1. 기초 파이썬 예시 코드 (5개)

기초 예제는 파이썬의 가장 기본적인 문법과 구조를 다룹니다.

1. "Hello, World!" 출력

# 화면에 문자열을 출력하는 가장 기본적인 코드입니다.

print("Hello, World!")

2. 변수 사용 및 연산

# 변수에 숫자와 문자열을 저장하고, 간단한 연산을 수행합니다.

a = 10
b = 5
print(a + b)  # 15 출력

name = "인수샘"
print("안녕하세요, " + name + "님!") # "안녕하세요, 인수샘님!" 출력

3. 반복문 (for)

# 0부터 4까지 5번 반복하며 숫자를 출력합니다.

for i in range(5):
    print(f"현재 숫자는 {i}입니다.")

4. 조건문 (if-else)

# score 변수의 값에 따라 다른 메시지를 출력합니다.

score = 85
if score >= 90:
    print("A등급 입니다.")
elif score >= 80:
    print("B등급 입니다.")
else:
    print("C등급 이하입니다.")

5. 함수 정의 및 호출

# 두 숫자를 더하는 간단한 함수를 만들고 사용합니다.

def add(x, y):
    return x + y

result = add(15, 25)
print(f"함수 호출 결과: {result}") # "함수 호출 결과: 40" 출력

1.2. 응용 파이썬 예시 코드 (5개)

응용 예제는 기본 문법을 활용하여 파일 처리, 모듈 사용 등 실용적인 코드를 다룹니다.

1. 리스트 컴프리헨션 (List Comprehension)

# 반복문과 조건문을 한 줄로 간결하게 작성하여 리스트를 생성합니다.

# 1부터 10까지의 숫자 중 짝수만 제곱하여 리스트 만들기
squares_of_evens = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squares_of_evens)  # [4, 16, 36, 64, 100] 출력

2. 파일 읽고 쓰기

# 'with' 구문을 사용하면 파일을 자동으로 닫아주어 편리합니다.

with open("my_file.txt", "w", encoding="utf-8") as f:
    f.write("파이썬 파일 쓰기 예제입니다.\n")
    f.write("두 번째 줄입니다.")

with open("my_file.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

3. 클래스 (Class) 기본

# 객체 지향 프로그래밍의 기초인 클래스를 정의하고 객체를 생성합니다.

class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        return f"{self.name}가 짖습니다: 멍멍!"

my_dog = Dog("해피")
print(my_dog.bark()) # "해피가 짖습니다: 멍멍!" 출력

4. random 모듈 사용

# 파이썬 표준 라이브러리인 random 모듈을 사용하여 로또 번호를 생성합니다.

import random

lotto_numbers = random.sample(range(1, 46), 6)
lotto_numbers.sort()
print(f"생성된 로또 번호: {lotto_numbers}")

5. 딕셔너리 (Dictionary) 활용

# Key-Value 쌍으로 데이터를 관리하는 딕셔너리를 활용하여 학생 정보를 처리합니다.

student = {"id": "20260319", "name": "홍길동", "major": "컴퓨터공학"}

print(f"학생 이름: {student['name']}")
student['grade'] = 4 # 새로운 정보 추가
print(f"수정된 정보: {student}")

1.3. 심화 파이썬 예시 코드 (5개)

심화 예제는 데코레이터, 제너레이터 등 고급 기능을 다룹니다.

1. 데코레이터 (Decorator)

# 함수의 실행 시간을 측정하는 데코레이터를 만들어 적용합니다.

import time

def timing_decorator(func):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"'{func.__name__}' 함수 실행 시간: {end_time - start_time:.5f}초")
        return result
    return wrapper

@timing_decorator
def calculate_sum():
    return sum(range(1000000))

calculate_sum()

2. 제너레이터 (Generator)

# 대용량 데이터를 효율적으로 처리하기 위해 제너레이터를 사용합니다.

def fibonacci_generator(n):
    a, b = 0, 1
    count = 0
    while count < n:
        yield a
        a, b = b, a + b
        count += 1

# 10개의 피보나치 수열 출력
for num in fibonacci_generator(10):
    print(num, end=" ") # 0 1 1 2 3 5 8 13 21 34

3. 컨텍스트 관리자 (Context Manager)

# 'with' 구문과 함께 사용할 수 있는 객체를 클래스로 직접 정의합니다.

class ManagedFile:
    def __init__(self, filename, mode):
        self.filename = filename
        self.mode = mode

    def __enter__(self):
        print("파일을 엽니다.")
        self.file = open(self.filename, self.mode, encoding='utf-8')
        return self.file

    def __exit__(self, exc_type, exc_val, exc_tb):
        if self.file:
            self.file.close()
        print("파일을 닫습니다.")

with ManagedFile("hello.txt", "w") as f:
    f.write("컨텍스트 관리자 예제")

4. 비동기 프로그래밍 (asyncio)

# 여러 작업을 동시에 처리하여 I/O 바운드 작업의 효율을 높입니다.

import asyncio

async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)

async def main():
    print("비동기 작업 시작")
    await asyncio.gather(
        say_after(1, "첫 번째 작업 완료"),
        say_after(2, "두 번째 작업 완료")
    )
    print("비동기 작업 종료")

# Python 3.7+ 환경에서 실행
# asyncio.run(main()) # 주석 해제 후 실행

5. 람다(Lambda)와 고차 함수(map, filter)

# 간단한 익명 함수인 람다를 map, filter와 함께 사용하여 데이터를 간결하게 처리합니다.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# map: 리스트의 각 요소에 함수를 적용
doubled = list(map(lambda x: x * 2, numbers))
print(f"2배가 된 숫자들: {doubled}")

# filter: 리스트의 각 요소 중 조건을 만족하는 것만 필터링
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(f"짝수만 필터링: {evens}")