728x90
반응형
SMALL
함수 (Function)
여러 개의 실행문을 하나로 묶은 모듈이다. 프로그래밍 분야의 함수도 수학 분야의 함수와 같다. 입력값을 넣었을 때 원하는 출력값을 만들어주는 함수를 python 문법을 이용해 구현한다. 프로그래밍 분야에서도 함수 내부의 구현은 블랙박스와 같아서 함수를 사용하는 입장에서는 이를 알 필요가 없다. 단순히 함수에 입력값을 넣으면 우리가 원하는 출력값을 얻을 수 있다는 점을 아는 것이 중요하다.
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
...
매개변수와 인수
매개변수 (parameter)는 함수에 입력으로 전달된 값을 받는 변수를 의미하고 인수 (arguments)는 함수를 호출할 때 전달하는 입력값을 의미한다.
def add(a, b): # a, b는 매개변수
return a + b
print(add(3, 4)) # 3, 4는 인수
여러 개의 입력값을 받는 함수
def 함수이름(*매개변수):
<수행할 문장>
...
def add_many(*args):
result = 0
for i in args:
result = result + i
return result
result = add_many(1,2,3)
print(result)
--> 6
lambda : 이름이 없는 함수. Filter(), 다른 함수로 인자 넘길 때 사용
lambda는 함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 한다. 보통 함수를 한줄로 간결하게 만들 때 사용한다. 우리말로는 "람다"라고 읽고 def를 사용해야 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰인다.
add = lambda a, b: a+b
result = add(3, 4)
print(result)
--> 7
고차함수 : map, reduce, filter의 대용량 데이터 처리
filter (function, list) : 함수와 리스트를 매개인자로 받음, 참인 값만 리스트로 반환
Map (function, seq) : 자료형(list, tuple, 문자열) 입력 받아 함수의 입력값이 됨
reduce (function, seq) : ??
◦ 재귀함수 : 자기 자기를 호출, 메모리 많이 소모, 프로그램 용이
◦ 스코핑 룰 : 함수, 클래스 등이 선언되면 변수를 사용
네임스페이스
- Local : 함수 내부 : def에서 선언
- Global 전역 : 그냥선언
- Built-in : 내장 : 모든 모듈에서
728x90
반응형
LIST
'Programming > Python' 카테고리의 다른 글
08. 클래스 상속 (Class inheritance) (0) | 2021.12.08 |
---|---|
07. 클래스 (Class) (0) | 2021.12.08 |
05. 제어문 (If, For, While) (0) | 2021.12.08 |
04. 표준입출력 (0) | 2021.12.08 |
03. 자료형을 이용한 자료관리 (0) | 2021.12.08 |