SlideShare a Scribd company logo
1 of 12
Download to read offline
널널한 교수의 기초 파이썬
17_1. 람다 함수
창원대학교 정보통신공학과 박동규
동영상 강의자료와 코드
• 동영상 강의(널널한 교수의 기초 파이썬)
• https://www.youtube.com/watch?
v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX
• 소스코드( GitHub )
• https://github.com/dongupak/Basic-Python-Programming
일반 함수와 람다 함수
• 일반 함수를 이용하면 필요한 기능의 재사용이 가능하다

• 함수를 정의한 후 필요할 때마다 호출하여 사용

• 가끔씩은 함수를 만들지 않고 함수화된 기능만을 불러 사용하고자
할 경우가 있다

• 프로그램을 단순하게 만들 수 있다

• 1회용으로 함수를 만들고 싶은데 def xxx(): 과 같은 이름을 짓
는 것이 번거롭게 느껴질 수 있다
람다 함수
• 람다, 람다 표현식라고도 불리우는 람다 함수는 이름이 없는 함수

• 익명함수(anonymous function)로 부르기도 함

• 이름이 필요할 경우 할당하여 사용할 수 있다

• 주의 : 표현식 안에서 새 변수를 선언할 수 없다

• 반환값은 변수없이 식 한줄로 표현할 수 있어야 하며 복잡한 함수가 필
요하면 def 로 함수를 정의하여야 한다.

• return 문이 필요없다
일반 함수와 람다 함수
def add(x,y):
return x + y
lambda x,y: x + y
람다함수의 모양과 호출
(lambda 매개변수1, 매개변수2,...: 반환값)
(lambda 매개변수1, 매개변수2,...: 반환값)
람다함수 호출
(인수1, 인수2,...)
수행결과
function_add.py
def add(): ... return ... 과
같이 함수 헤드와 몸체를 정
의한다. 함수이름으로 호출
수행결과
def xxx(): 와 같은 헤드가
필요없는 기능만 가진 익명
의 함수 - 이 함수를 add라
는 이름의 변수에 할당
return 이 필요없음
lambda_add1.py
이런 방식은 그다지 바람직한 방식은 아니다
lambda 함수를 사용하는 또
다른 방법으로 함수명 자체
가 필요없다(익명함수)
수행결과
lambda_add2.py
Lab
의문
대신에
와 같이 간단하게 사용할 수도 있지 않느냐?
람다 함수는 위와같은 방식으로 사용하는 것은 아니다.

앞서 살펴본 필터나 맵에서 사용하는 함수이다
감사합니다

More Related Content

What's hot

파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수Yeon Soo Kim
 
파이썬을 만난지 100일♥ 째
파이썬을 만난지 100일♥ 째파이썬을 만난지 100일♥ 째
파이썬을 만난지 100일♥ 째혜선 최
 
파이썬(Python) 소개
파이썬(Python) 소개파이썬(Python) 소개
파이썬(Python) 소개Jin wook
 
Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Joonsung Lee
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCPSeungmo Koo
 
Hello python 오리엔테이션(파이썬 스터디, 발표자료)
Hello python 오리엔테이션(파이썬 스터디, 발표자료)Hello python 오리엔테이션(파이썬 스터디, 발표자료)
Hello python 오리엔테이션(파이썬 스터디, 발표자료)Cherucy
 
C++ try catch 어디까지 가봤니
C++ try catch 어디까지 가봤니C++ try catch 어디까지 가봤니
C++ try catch 어디까지 가봤니Dong Chan Shin
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)Dong Chan Shin
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해용 최
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기CONNECT FOUNDATION
 
Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1Young Oh Jeong
 
Architecture patterns with python (2)
Architecture patterns with python (2)Architecture patterns with python (2)
Architecture patterns with python (2)동환 김
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)성일 한
 
Project anarchy로 3d 게임 만들기 part_5_waste of time shoveling
Project anarchy로 3d 게임 만들기 part_5_waste of time shovelingProject anarchy로 3d 게임 만들기 part_5_waste of time shoveling
Project anarchy로 3d 게임 만들기 part_5_waste of time shovelingDong Chan Shin
 
1 Python기초 오리엔테이션
1 Python기초 오리엔테이션1 Python기초 오리엔테이션
1 Python기초 오리엔테이션cpt mobilex
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델Seungmo Koo
 
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Dong Chan Shin
 
Sublime Text 3 for python and django
Sublime Text 3 for python and djangoSublime Text 3 for python and django
Sublime Text 3 for python and djangoraccoony
 

What's hot (20)

파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수
 
파이썬을 만난지 100일♥ 째
파이썬을 만난지 100일♥ 째파이썬을 만난지 100일♥ 째
파이썬을 만난지 100일♥ 째
 
파이썬(Python) 소개
파이썬(Python) 소개파이썬(Python) 소개
파이썬(Python) 소개
 
Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP
 
Hello python 오리엔테이션(파이썬 스터디, 발표자료)
Hello python 오리엔테이션(파이썬 스터디, 발표자료)Hello python 오리엔테이션(파이썬 스터디, 발표자료)
Hello python 오리엔테이션(파이썬 스터디, 발표자료)
 
C++ try catch 어디까지 가봤니
C++ try catch 어디까지 가봤니C++ try catch 어디까지 가봤니
C++ try catch 어디까지 가봤니
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
 
Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1Python machine learning Chapter 06 - PART1
Python machine learning Chapter 06 - PART1
 
Architecture patterns with python (2)
Architecture patterns with python (2)Architecture patterns with python (2)
Architecture patterns with python (2)
 
Log4j 사용법
Log4j 사용법Log4j 사용법
Log4j 사용법
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
 
Project anarchy로 3d 게임 만들기 part_5_waste of time shoveling
Project anarchy로 3d 게임 만들기 part_5_waste of time shovelingProject anarchy로 3d 게임 만들기 part_5_waste of time shoveling
Project anarchy로 3d 게임 만들기 part_5_waste of time shoveling
 
1 Python기초 오리엔테이션
1 Python기초 오리엔테이션1 Python기초 오리엔테이션
1 Python기초 오리엔테이션
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
 
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
 
Sublime Text 3 for python and django
Sublime Text 3 for python and djangoSublime Text 3 for python and django
Sublime Text 3 for python and django
 

Similar to 17 1 람다함수 (17)

04 1 함수
04 1 함수04 1 함수
04 1 함수
 
02_4_주석
02_4_주석02_4_주석
02_4_주석
 
08 모듈
08 모듈08 모듈
08 모듈
 
04 2 함수와매개변수
04 2 함수와매개변수04 2 함수와매개변수
04 2 함수와매개변수
 
01_2_파이썬설치
01_2_파이썬설치 01_2_파이썬설치
01_2_파이썬설치
 
17 2 필터함수와 맵함수
17 2 필터함수와 맵함수17 2 필터함수와 맵함수
17 2 필터함수와 맵함수
 
04 6 파이썬내장함수
04 6 파이썬내장함수04 6 파이썬내장함수
04 6 파이썬내장함수
 
20 2 강의를 마치며
20 2 강의를 마치며20 2 강의를 마치며
20 2 강의를 마치며
 
18 1 파이썬패키지
18 1 파이썬패키지18 1 파이썬패키지
18 1 파이썬패키지
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
02_1_변수와친해지기
02_1_변수와친해지기02_1_변수와친해지기
02_1_변수와친해지기
 
12 1 예외처리(try-except)
12 1 예외처리(try-except)12 1 예외처리(try-except)
12 1 예외처리(try-except)
 
04 3 함수와반환문
04 3 함수와반환문04 3 함수와반환문
04 3 함수와반환문
 
14 2 iterator
14 2 iterator14 2 iterator
14 2 iterator
 
02_2_변수와연산자
02_2_변수와연산자02_2_변수와연산자
02_2_변수와연산자
 
05 3 문자열포매팅
05 3 문자열포매팅05 3 문자열포매팅
05 3 문자열포매팅
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composer
 

More from Changwon National University

생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdfChangwon National University
 
알아두면 편리한 macOS 에디터 단축키와 기능
알아두면 편리한 macOS 에디터  단축키와 기능알아두면 편리한 macOS 에디터  단축키와 기능
알아두면 편리한 macOS 에디터 단축키와 기능Changwon National University
 
키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)Changwon National University
 
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)Changwon National University
 
18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리Changwon National University
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와selfChangwon National University
 

More from Changwon National University (20)

생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf
 
2011 app center Changwon National Univ.
2011 app center Changwon National Univ.2011 app center Changwon National Univ.
2011 app center Changwon National Univ.
 
인공지능의 파도가 온다
인공지능의 파도가 온다인공지능의 파도가 온다
인공지능의 파도가 온다
 
Mobile Healthcare Application
Mobile Healthcare ApplicationMobile Healthcare Application
Mobile Healthcare Application
 
바다 즐기기
바다 즐기기바다 즐기기
바다 즐기기
 
알아두면 편리한 macOS 에디터 단축키와 기능
알아두면 편리한 macOS 에디터  단축키와 기능알아두면 편리한 macOS 에디터  단축키와 기능
알아두면 편리한 macOS 에디터 단축키와 기능
 
키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)
 
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
 
20 1 코딩스타일
20 1 코딩스타일20 1 코딩스타일
20 1 코딩스타일
 
18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리
 
16 1 상속과super()
16 1 상속과super()16 1 상속과super()
16 1 상속과super()
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와self
 
14 4 슬라이싱
14 4 슬라이싱14 4 슬라이싱
14 4 슬라이싱
 
14 3 리스트함수
14 3 리스트함수14 3 리스트함수
14 3 리스트함수
 
14 1 리스트의 메소드
14 1 리스트의 메소드14 1 리스트의 메소드
14 1 리스트의 메소드
 
12 3 raise문
12 3 raise문12 3 raise문
12 3 raise문
 
10 2 튜플
10 2 튜플10 2 튜플
10 2 튜플
 
10 1 딕셔너리
10 1 딕셔너리10 1 딕셔너리
10 1 딕셔너리
 
09 3 random모듈
09 3 random모듈09 3 random모듈
09 3 random모듈
 
09 1 날짜와시간모듈
09 1 날짜와시간모듈09 1 날짜와시간모듈
09 1 날짜와시간모듈
 

17 1 람다함수

  • 1. 널널한 교수의 기초 파이썬 17_1. 람다 함수 창원대학교 정보통신공학과 박동규
  • 2. 동영상 강의자료와 코드 • 동영상 강의(널널한 교수의 기초 파이썬) • https://www.youtube.com/watch? v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX • 소스코드( GitHub ) • https://github.com/dongupak/Basic-Python-Programming
  • 3. 일반 함수와 람다 함수 • 일반 함수를 이용하면 필요한 기능의 재사용이 가능하다 • 함수를 정의한 후 필요할 때마다 호출하여 사용 • 가끔씩은 함수를 만들지 않고 함수화된 기능만을 불러 사용하고자 할 경우가 있다 • 프로그램을 단순하게 만들 수 있다 • 1회용으로 함수를 만들고 싶은데 def xxx(): 과 같은 이름을 짓 는 것이 번거롭게 느껴질 수 있다
  • 4. 람다 함수 • 람다, 람다 표현식라고도 불리우는 람다 함수는 이름이 없는 함수 • 익명함수(anonymous function)로 부르기도 함 • 이름이 필요할 경우 할당하여 사용할 수 있다 • 주의 : 표현식 안에서 새 변수를 선언할 수 없다 • 반환값은 변수없이 식 한줄로 표현할 수 있어야 하며 복잡한 함수가 필 요하면 def 로 함수를 정의하여야 한다. • return 문이 필요없다
  • 5. 일반 함수와 람다 함수 def add(x,y): return x + y lambda x,y: x + y
  • 6. 람다함수의 모양과 호출 (lambda 매개변수1, 매개변수2,...: 반환값) (lambda 매개변수1, 매개변수2,...: 반환값) 람다함수 호출 (인수1, 인수2,...)
  • 7. 수행결과 function_add.py def add(): ... return ... 과 같이 함수 헤드와 몸체를 정 의한다. 함수이름으로 호출
  • 8. 수행결과 def xxx(): 와 같은 헤드가 필요없는 기능만 가진 익명 의 함수 - 이 함수를 add라 는 이름의 변수에 할당 return 이 필요없음 lambda_add1.py 이런 방식은 그다지 바람직한 방식은 아니다
  • 9. lambda 함수를 사용하는 또 다른 방법으로 함수명 자체 가 필요없다(익명함수) 수행결과 lambda_add2.py
  • 10. Lab
  • 11. 의문 대신에 와 같이 간단하게 사용할 수도 있지 않느냐? 람다 함수는 위와같은 방식으로 사용하는 것은 아니다. 앞서 살펴본 필터나 맵에서 사용하는 함수이다