본문 바로가기
Programming/Python

06. 함수 (Function)

by goatlab 2021. 12. 8.
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) : ??

 

◦ 재귀함수 : 자기 자기를 호출, 메모리 많이 소모, 프로그램 용이

 

◦ 스코핑 : 함수, 클래스 등이 선언되면 변수를 사용

 

네임스페이스 

 

  1. Local : 함수 내부 : def에서 선언
  2. Global 전역 : 그냥선언
  3. 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