- 분해(Decomposition)
기능을 분해하고 재사용 가능하게한다.
- 추상화(Abstraction)
복잡한 내용을 모르더라도 사용할 수 있도록 함.
재사용성, 가독성, 생산성을 늘려줌.
함수는 크게 3가지로 분류
- 내장함수(Built-in functions) 파이썬에 기본적으로 포함된 함수(print, len 등)
- 외장함수 import문을 통해 사용하며, 외부 라이브러리에서 제공하는 함수
- 사용자 정의 함수 사용자가 정의하여 사용가능한 함수
함수(function)
- 특정한 기능을 하는 코드의 조각(묶음)
- 특정 코드를 매번 다시 작성하지 않고, 필요시에만 호출하여 간편히 사용
함수의 기본 구조
- 선언과 호출(define & call)
- 입력(input)
- 문서화(docstring)
- 범위(scope)
- 결과값(output)
def pstdev(data, mu=None): # keyword, name, parameter
"""Return the square root of the population variance.
See ``pvariance`` for arguments and other details
>>> pstdev([1.3, 2.5, 4,5])
"""
var = pvariance(data, mu)
try:
return var.sqrt()
except Attribution
- 함수의 선언은 def 키워드를 활용함
- 들여쓰기를 통해 function body를 작성함 docstring은 함수 body 앞에 선택적으로 작성가능 작성시에는 첫번째 문장에 문자열 “””
def functionName(parameter):
#code block
return returningValue
- 함수는 함수명()으로 호출하여 사용
함수의 Output
- Void function
- 명시적인 return값이 없는 경우 none을 반환하고 종료
- 예)
def A(x): print(x)
- Value returning function
- 함수 실행 후, return 문을 통해 값 반환
- return을 하게 되면 함수가 바로 종료
- 두개 이상의 값 반환을 원한다면 튜플, 리스트 같은 컨테이너 사용
def min_and_product(x, y): return(x - y, x * y) # 튜플
Parameter : 함수를 정의할 때, 함수 내부에서 사용되는 변수
Argument: 함수를 호출 할 때 넣어주는 값
- Positional Arguments
- 기본적으로 함수 호출 시 argument는 위치에 따라 함수 내에 전달됨
- Keyword Arguments
- 직접 변수의 이름으로 특정 argument를 전달할 수 있음
- keyword argument 다음에 positional argument를 활용할 수 없음
Default Arguments Valuesdef add(x, y): return x + y add(x = 2, y = 5) add(2, 5) add(2, y = 5) add(x = 2, 5) => ERROR
- 기본값을 지정하여 함수 호출 시 argument 값을 설정하지 않도록 함
- 정의된 것보다 더 적은 개수의 argument들로 호출될 수 있음
'Programming Language > Python' 카테고리의 다른 글
[Python]함수 - 종류 (0) | 2023.02.18 |
---|---|
[Python]함수 - 범위 (0) | 2023.02.18 |
[Python]제어문 - 반복문 (0) | 2023.02.18 |
[Python]제어문 - 조건문 (0) | 2023.02.18 |
[Python]Data Casting (0) | 2023.02.18 |