반응형
파이썬에서 if/else 없이 계산기를 만들어보자! 🐍✨
안녕하세요! 이번에는 파이썬의 독창적인 기능들을 활용해 if/else 없이 제어 흐름을 처리하는 다양한 방법을 소개합니다. 이번 예제에서는 간단한 계산기를 만들어볼 거예요. 🎉
1️⃣ 중첩된 함수 활용하기
함수 안에 함수를 정의하여 연산을 처리할 수 있습니다!
💻 코드 예제
def calculator(a, b, operation):
def add(): return a + b
def subtract(): return a - b
def multiply(): return a * b
def divide(): return a / b if b != 0 else "Cannot divide by zero"
operations = {
'+': add,
'-': subtract,
'*': multiply,
'/': divide
}
return operations.get(operation, lambda: "Invalid operation")()
print(calculator(10, 5, '+')) # 출력: 15
print(calculator(10, 0, '/')) # 출력: Cannot divide by zero
print(calculator(10, 5, '%')) # 출력: Invalid operation
🌟 장점
- 연산 함수들이 계산기 내부에 캡슐화되어 있습니다.
- 간결한 딕셔너리 접근으로 중복 코드를 피할 수 있습니다.
2️⃣ 리스트 인덱스와 함수 활용
리스트 인덱스를 통해 조건 없이 동작을 처리할 수도 있습니다.
💻 코드 예제
def calculator(a, b, operation):
functions = [
lambda: a + b, # '+' 연산
lambda: a - b, # '-' 연산
lambda: a * b, # '*' 연산
lambda: a / b if b != 0 else "Cannot divide by zero" # '/' 연산
]
operations = ['+', '-', '*', '/']
try:
return functions[operations.index(operation)]()
except ValueError:
return "Invalid operation"
print(calculator(10, 5, '+')) # 출력: 15
print(calculator(10, 5, '/')) # 출력: 2.0
print(calculator(10, 5, '%')) # 출력: Invalid operation
🌟 장점
- 조건문 없이 리스트와 인덱스만으로 동작을 제어할 수 있습니다.
- ValueError 예외 처리를 통해 잘못된 연산도 간단히 처리 가능합니다.
3️⃣ 클래스와 매서드 활용하기
객체 지향 방식을 사용하여 연산 처리를 캡슐화할 수 있습니다.
💻 코드 예제
class Calculator:
def __init__(self, a, b):
self.a = a
self.b = b
self.operations = {
'+': self.add,
'-': self.subtract,
'*': self.multiply,
'/': self.divide
}
def add(self): return self.a + self.b
def subtract(self): return self.a - self.b
def multiply(self): return self.a * self.b
def divide(self): return self.a / self.b if self.b != 0 else "Cannot divide by zero"
def calculate(self, operation):
return self.operations.get(operation, lambda: "Invalid operation")()
calc = Calculator(10, 5)
print(calc.calculate('+')) # 출력: 15
print(calc.calculate('/')) # 출력: 2.0
print(calc.calculate('%')) # 출력: Invalid operation
🌟 장점
- 재사용 가능한 클래스를 작성할 수 있습니다.
- 확장성 있는 구조로 새로운 연산 추가가 쉽습니다.
4️⃣ NumPy 활용하기
NumPy는 수학 연산 처리를 위한 강력한 라이브러리입니다.
💻 코드 예제
import numpy as np
def calculator(a, b, operation):
operations = {
'+': np.add,
'-': np.subtract,
'*': np.multiply,
'/': np.divide
}
if operation not in operations:
return "Invalid operation"
if operation == '/' and b == 0:
return "Cannot divide by zero"
return operations[operation](a, b)
print(calculator(10, 5, '+')) # 출력: 15
print(calculator(10, 5, '/')) # 출력: 2.0
print(calculator(10, 0, '/')) # 출력: Cannot divide by zero
print(calculator(10, 5, '%')) # 출력: Invalid operation
🌟 장점
- 대규모 데이터 처리와 연산에 유용합니다.
- NumPy 함수들을 활용하여 성능이 우수합니다.
결론
if/else 없이 제어 흐름을 처리하는 다양한 방법을 배워보았습니다! 🧑💻
- 중첩된 함수: 간단하고 읽기 쉽습니다.
- 리스트와 인덱스: 조건 없이 처리 가능.
- 클래스: 재사용성과 확장성 확보.
- NumPy: 고성능 연산 지원.
반응형
'프로그래밍 언어(Programming Languages) > 파이썬(Python)' 카테고리의 다른 글
[파이썬 Python] Python 라이브러리 Camelot으로 PDF에서 테이블 추출하기! 🧙♂️📊 (0) | 2025.01.22 |
---|---|
[Python 파이썬] Drawdata로 데이터셋 직접 그려보기 🖌️: 데이터 과학자가 꼭 알아야 할 꿀팁! (0) | 2025.01.21 |
[파이썬 Python]🧑💻 파이썬으로 이해하는 동시성, 스레딩, 병렬 처리 🛠️ (1) | 2025.01.16 |
[파이썬 Python] Python Celery로 작업 스케줄링과 비동기 처리 쉽게 배우기 ⏰ (1) | 2025.01.15 |
[파이썬 Python] 🐍 Python 3.14 릴리스: 꼭 알아야 할 새로운 5가지 기능 ✨ (0) | 2025.01.14 |