함수란?
- 특정한 기능을 수행하기 위해 사전에 만들어 놓은 프로그래밍 구문을 묶어 놓은 것
함수의 종류
내장함수) 별도의 라이브러리를 설치하지 않고 사용할 수 있는 함수
외장함수) 별도의 라이브러리를 설치하고 사용할 수 있는 함수
사용자 정의 함수) 사전에 정의된 내장함수 이외에 사용자가 임의로 원하는 기능을 만들어서 사용할 수 있는 함수
내장함수
별도의 라이브러리를 설치하지 않고 사용할 수 있는 함수
ex. print(), sum(), max(), input(), int() 등
외장함수
별도의 라이브러리를 설치하고 사용할 수 있는 함수
ex. import random - 난수(규칙이 없는 임의의 수)를 발생시키는 모듈
사용자 정의 함수
사전에 정의된 내장함수 이외에 사용자가 임의로 원하는 기능을 만들어서 사용할 수 있는 함수
사용자 정의 함수는 다음과 같은 형식으로 정의
1. lamda 함수
- 함수이름이 없는 익명함수
lambda 인자 : 표현식
add = lambda x : x + 100
add(10) #110
add = lambda x, y : x+y
add(10,20) #30
add = lambda x, y=0, z : (x+y)*z #오류
add = lambda x, y=0, z=1 : (x+y)*z #정상실행
* 특정 인자에 default값을 선언하는 경우, default값을 선언한 변수 이후의 변수 모두다 default값을 선언해줘야한다.
2. def함수
- 일반 사용자 정의 함수로 함수이름의 정의
def 함수이름(입력파라미터):
문장1
문장2
[return 리턴값]
def add(n):
result = n+100
return result
add(10) #110
def add(num1, num2):
return num1+ num2
add(10,20) #30
* lamda함수(익명함수)와 def함수(일반사용자정의함수)의 차이
- 일반함수는 객체를 만들고 재사용을 위해 함수를 메모리에 할당
- 익명함수는 한번 쓰이고 다음줄로 넘어가면 메모리 영역에서 사라짐
매개변수와 인수(인자)
매개변수(parameter) : 함수를 정의할 때 사용되는 변수(임의의 값)
인자=인수(argument) : 함수를 호출할 때 사용되는 값(실제로 함수가 호출될 때, 넘기는 값)
def add(num1, num2): # num1, num2는 매개변
return num1+ num2
add(10,20) #10,20은 인수(인자)
'Python > Python' 카테고리의 다른 글
[Python] 12. sort()메소드와 sorted()함수 (0) | 2024.09.08 |
---|---|
[Python] 11. 파이썬의 내장함수 map() (0) | 2024.09.08 |
[Python] 08. 조건문 (0) | 2024.01.09 |
[Python] 07. 파이썬의 연산자 (0) | 2024.01.09 |
[Python] 06. 입출력(input(),print(),print()문의 옵션) (0) | 2023.11.26 |