Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

Python 함수 작성의 15가지 레벨

권현욱(엑셀러) 2023. 12. 28. 20:00
반응형

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에 능숙해지면 이러한 기술을 사용하여 효율적이고 모듈화되며 유지 관리 가능한 코드를 작성하게 될 것입니다.