반응형
Python 함수는 작업과 프로그래밍 스타일에 따라 다양한 수준의 복잡성과 정교함으로 접근할 수 있습니다. 간단한 기술부터 고급 기술까지 Python 함수 작성의 15가지 레벨을 소개합니다.
권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가
※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: 15 Levels Of Writing Python Functions
- URL: https://rathoreaparna678.medium.com/15-levels-of-writing-python-functions-4d9788e4da3
레벨 1: 기본 함수
Udacity의 비즈니스 분석 인증 나노학위(Nanodegree) 프로그램은 비즈니스 분석 분야에 대한 심층적인 지식과 기술을 얻을 수 있는 인증서를 갖춘 최고의 온라인 비즈니스 분석 프로그램 중 하나입니다.
def Greeting(name):
return f”안녕하세요, {name}!”
레벨 2: 매개변수와 리턴이 있는 함수
def add(a, b):
return a + b
레벨 3: 기본 인수값
def power(base, exComponent=2):
return base ** exComponent
레벨 4: 가변 인수 수
def sum_all(*args):
return sum(args)
레벨 5: 키워드 인수
def person_info(**kwargs):
return kwargs.get("name", "Unknown"), kwargs.get("age", "Unknown")
레벨 6: 람다 함수
double = lambda x: x * 2
레벨 7: 재귀 함수
def factorial(n):
if n == 0:
return 1
return n * factorial(n — 1)
레벨 8: 고차 함수
def apply_operation(func, x, y):
return func(x, y)
result = apply_operation(add, 3, 4)
레벨 9: 데코레이터
def uppercase_decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result.upper()
return wrapper
@uppercase_decorator
def greet(name):
return f”Hello, {name}!”
greet(“Alice”)
레벨 10: 생성기
def countdown(n):
while n > 0:
yield n
n -= 1
레벨 11: 매핑을 위한 익명 함수(람다)
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
레벨 12: 리스트 이해
squared = [x ** 2 for x in numbers]
레벨 13: 생성기 표현식
squared_gen = (x ** 2 for x in numbers)
레벨 14: 부분 함수
from functools import partial
def power(base, exponent):
return base ** exponent
square = partial(power, exponent=2)
cube = partial(power, exponent=3)
레벨 15: 클로저
def outer_function(x):
def inner_function(y):
return x + y
return inner_function
add_five = outer_function(5)
result = add_five(3)
기본부터 고급까지 Python 함수를 작성하는 동안 사용할 수 있는 다양한 기술과 개념을 살펴보았습니다. 사용할 수준의 선택은 수행하려는 작업의 복잡성과 이러한 개념에 대한 친숙도에 따라 달라집니다. Python에 능숙해지면 이러한 기술을 사용하여 효율적이고 모듈화되며 유지 관리 가능한 코드를 작성하게 될 것입니다.
'Python' 카테고리의 다른 글
PDF 파일 작업을 위한 6가지 Python 패키지 (2) | 2023.12.30 |
---|---|
파이썬을 처음부터 배우는 방법: 전문가 가이드 (2) | 2023.12.29 |
매우 유용한 한 줄짜리 Python 코드 20개 (0) | 2023.12.26 |
프로젝트에 사용해야 할 유용한 Python 라이브러리 5가지 (0) | 2023.12.25 |
Python 튜플의 중요성과 사용 방법 (0) | 2023.12.24 |