📖 Python

파이썬 - 함수와 람다 표현식

date
Jul 9, 2023
slug
python-function-lambda
author
status
Public
tags
Python
summary
파이썬 함수와 람다 표현식을 알아보자
type
Post
thumbnail
category
📖 Python
updatedAt
Jul 9, 2023 02:59 PM

함수

  • 특정한 작업을 하나의 단위로 묶어 놓은 것
  • 사용하면 불필요한 소스코드의 반복을 줄일 수 있음!
 

함수의 종류

  • 내장 함수 : 파이썬이 기본적으로 제공하는 함수
    • ex) input(), print() 등
  • 사용자 정의 함수 : 개발자가 직접 정의하여 사용할 수 있는 함수
 

함수 정의하기

  • 매개변수 : 함수 내부에서 사용할 변수
  • 반환 값 : 함수에서 처리 된 결과를 반환
def 함수명(매개변수): 실행할 소스코드 return 반환 값
 

더하기 함수 예시

1번 예시
def add(a, b): return a + b print(add(3, 7)) # 실행 결과 : 10
2번 예시 - 파라미터 지정
def add(a, b): print("함수 결과 : ", a + b) add(b = 7, a = 3) # 실행 결과 : 함수 결과 : 10
  • 파라미터의 변수를 직접 지정하면, 매개변수의 순서가 달라도 상관이 없다.
 

global 키워드

  • global 키워드로 변수를 지정하면 함수 바깥에 선언된 변수를 바로 참조
    • 지역 변수를 만들지 않는다.
a = 0 def func(): global a a += 1 for i in range(10): func() print(a) # 실행 결과 : 10
리스트는 global 없이 가능
array = [1, 2, 3] def func(): array.append(4) print(array) func() # 실행 결과 : [1, 2, 3, 4]
※ 함수 내부에 지역변수로 선언되어 있으면 지역변수를 따라감
 

여러 개의 반환 값

  • 파이썬에서 함수는 여러 개의 반환 값을 가질 수 있다!
def operator(a, b): add_var = a + b subtract_var = a - b multiply_var = a * b divide_var = a / b return add_var, subtract_bar, multiply_var, divide_var a, b, c, d = operator(7, 3)
 

람다 표현식

  • 람다 표현식을 이용하면 함수를 간단하게 작성할 수 있다.
  • 함수 자체를 입력으로 받는 함수에 매우 유용하게 쓰일 수 있다!
  • lambda 매개변수: 반환 값
# 일반적인 add() 사용 def add(a, b): return a + b print(add(3, 7)) # 람다 표현식으로 구현한 add() print((lambda a, b: a + b)(3, 7))
내장 함수에서 자주 사용되는 람다 표현식 예시
  • 리스트 내부에 튜플 형태 원소로 이루어져있고, 각 이름과 점수가 있을 경우 → 점수에 대한 오름차순
array = [('홍길동', 50), ('이순신', 32), ('아무개', 74)] def my_key(x): return x[1] print(sorted(array, key=my_key)) # 람다 표현식 print(sorted(array, key=lambda x: x[1]))
여러 개의 리스트에 적용한 람다 표현식 예시
  • 리스트 각 순서에 맞는 원소끼리 더한 값을 리스트에 담고싶을 때
list1 = [1, 2, 3, 4, 5] list2 = [6, 7, 8, 9, 10] result = map(lambda a, b: a + b, list1, list2) print(list(result)) # 실행 결과 : [7, 9, 11, 13, 15]
 
 

이 글은 유튜브 “동빈나” 채널의 “(이코테 2021 강의 몰아보기) 1. 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기” 영상을 보고 작성하였습니다.