사용자 정의 함수에 대해서는 앞서 다음과 같이 공부한 적이 있다.
https://metime.tistory.com/233
위 내용에 대하여 좀 더 자세히 배웠다.
사용자 정의 함수
- 함수: input과 output의 관계를 표현한 객체
- 사용자가 직접 함수 생성 가능(코드의 반복을 줄이거나 적용함수에 전달하기 위해 주로 생성)
1. lambda
- 언어적 표현이 제한적(단순한 input과 output의 관계만을 전달함. 변수의 선언 불가(새로운 객체 생성 불가))
- 반복문 / 조건문 전달이 불편함(가능은 한데...)
문법
함수명 = lambda input_value : output_value
함수명 = lambda input_value : 참리턴 if 조건 else 거짓리턴
함수명 = lambda input_value : 참리턴 if 조건1 else 참리턴2 if 조건2 else 거짓리턴 (추천하지 않음. 참고로만 알고 있을 것)
예) l1에서 각 원소의 크기가 4보다 큰 경우는 A, 그 외에는 B를 리턴하여라.
예) l2의 값이 10이면 인사부, 20이면 재무부, 30이면 총무부를 리턴하여라(3차 다항식)
2. def
- 모든 언어적 표현이 가능함(새로운 객체를 생성하거나 연산도 가능, 치환도 가능, 원본 객체를 직접 수정 가능 등)
- 반복문 / 조건문 전달이 용이함
문법
def 함수명 (input_value) :
본문
return output_value
예) 하나의 값을 입력 받아서 1을 더하여 리턴하여라
예) 두 리스트의 총 합을 리턴하여라
l1 = ['1,200', '2,200']
l2 = [300, 500]
예) 아래 기능을 갖는 함수를 정의하여라
'abc@def' → 'def'
'abc;def;ccc' → 'abc'
'abc|def|ccc|ddd' → 'ddd'
그렇다면 아래 리스트에 대해서 각각 def, abc, ddd로 리턴해보아라.
list1 = ['abc@def', 'abc;def;ccc', 'abc|def|ccc|ddd']
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[복습] Python 파이썬 축약형 (0) | 2024.01.10 |
---|---|
[복습] Python 반복문(for, while) (0) | 2024.01.10 |
[실습문제] 2024. 1. 9.(화) (2문제) (0) | 2024.01.10 |
[복습] Python 적용함수(1) (0) | 2024.01.10 |
[복습] Python 형 변환 함수 및 몇 가지 연습문제 (0) | 2024.01.10 |