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}")