파이썬 함수에 대한 4가지 고급 트릭

2023. 6. 27. 10:41·파이썬/Basic
반응형

파이썬은 조건문, 반복문, 예외처리를 이용하여 프로그래밍을 할 수 있습니다. 이 글에서는 파이썬에서 조건문, 반복문, 예외처리를 사용하는 방법에 대해 자세히 알아보겠습니다.

1. 키워드 아규먼트 강제하기

키워드 인수에는 인자를 순서에 따라 넘겨줘야 하는 불편함을 없애주고, 명명된 인수를 사용함으로써 가독성을 높이는 장점이 있습니다. 파이썬에서는 PEP 3202에서 설명하는 것처럼 키워드 아규먼트를 강제할 수 있습니다. 이에 대한 예시는 다음과 같습니다.

def f(*, a, b):
    print(a, b)

f(1, 2)
# TypeError: f() takes 0 positional arguments but 2 were given

f(a=1, b=2) # 1 2

2. 함수 언패킹을 위해 * 와 ** 사용하기

일부 함수에는 긴 인수 목록이 필요한 경우가 있습니다. 이러한 경우에는 딕셔너리나 배열을 사용하여 인수를 전달할 수 있습니다. 이 때, ** 접두사를 사용하여 딕셔너리와 함께 사용할 수 있습니다. 또한, 배열의 압축을 풀기 위해서는 *를 사용하여 함수의 위치 인수로 사용할 수 있습니다.

def f(a, b):
    print(a, b)

args = { "a": 1, "b": 2 }
f(**args) # 1 2

def f(a, b, c):
    print(a, b, c)

l = [1, 2, 3]
f(*l) # 1 2 3

3. 데코레이터로 함수 꾸미기

데코레이터는 기존의 코드를 수정하지 않고 함수의 동작을 수정하는 함수 래퍼입니다. 데코레이터는 많은 사용 사례가 있으며, Flask와 같은 프레임워크를 사용하면 데코레이터를 사용하는 것이 일반적입니다. 다음은 데코레이터를 사용한 예시입니다.

def print_argument(func):
    def wrapper(the_number):
        print("Argument for", func.__name__, "is", the_number)
        return func(the_number)
    return wrapper

@print_argument
def add_one(x):
    return x + 1

print(add_one(1))

4. 이름 없는 함수(람다)

람다 함수는 함수의 이름을 정의하지 않고도 함수를 정의할 수 있는 방법입니다. 람다 함수를 사용하여 변수에 할당할 수 있으며, 함수의 인수로 사용할 수도 있습니다.

add_one = lambda x: x + 1
print(add_one(3)) # 4

numbers = [1, 2, 3, 4]
times_two = map(lambda x: x * 2, numbers)
print(list(times_two)) # [2, 4, 6, 8]

위의 내용을 참고하여 파이썬 함수를 보다 효율적으로 작성해보세요!

저작자표시 비영리 변경금지 (새창열림)

'파이썬 > Basic' 카테고리의 다른 글

Python : 리스트 중복 삭제  (0) 2023.07.14
파이썬 디스크립터란?  (0) 2023.06.28
파이썬에서 알아두면 유용한 기능들  (0) 2023.06.24
파이썬에서 람다식(Lambda Expression) 사용하기  (0) 2023.04.04
파이썬 match-case 문  (0) 2023.04.03
'파이썬/Basic' 카테고리의 다른 글
  • Python : 리스트 중복 삭제
  • 파이썬 디스크립터란?
  • 파이썬에서 알아두면 유용한 기능들
  • 파이썬에서 람다식(Lambda Expression) 사용하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725) N
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17) N
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    셀레니움
    믈레코비타멸균우유
    programming101
    긴유통기한우유
    C#
    상품 리뷰 크롤링
    list
    파이썬
    appdevelopment
    리스트
    쇼핑몰리뷰
    스마트스토어리뷰
    learntocode
    카페24리뷰이관
    리뷰이관
    cv2
    codingcommunity
    카페24리뷰
    codingtips
    라떼우유
    스크립트 실행 순서
    rtsp
    ipcamera
    유니티
    unity
    Python
    리뷰관리
    devlife
    programmerlife
    스크립트 실행
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
파이썬 함수에 대한 4가지 고급 트릭
상단으로

티스토리툴바