상세 컨텐츠

본문 제목

[Python] 함수 - function

machine learning

by 캡틴카푸치노 2020. 8. 11. 23:25

본문

안녕하세요. 

캡틴카푸치노입니다.

오늘의 주제는 '함수'입니다.

함수를 이해하는데 어쩌면 가장 중요한 부분인 함수의 범위에 대해 설명하겠습니다.

그 전에 변수의 범위에 대해 우선 알아야합니다.


Variable Scope (변수의 종류)

1. local variable (지역 변수)

- 특정 코드 블록에서 선언된 변수 (함수의 인자와 관련)

- 생명주기 : 자신이 속한 코드 블록이 종료되면 소멸됨 (stack이라는 곳에 존재했다가 사라짐)

 

2. global variable (전역 변수)

- 함수와 관련없이 프로그램 종료 전까지 유지되는 변수

 

* 전역 변수와 같은 이름의 지역 변수가 함수 내에서 존재한다? 지역 변수의 우선순위가 더 높음!  

 

ex)

num1 = 10, num2= 30 (전역 변수)

 

def function(num1, num2) :  (지역 변수)   

          print(num1, num2)  

 

function(40,50) 으로 함수 호출하게 되면, 40과 50이 찍힘


Variable length argument (가변길이 파라미터)

 

print 함수처럼 전달되는 파라미터의 개수가 유동적일 때(고정적이지 않은), 어떻게 함수를 구성해야 할까?

파라미터 앞에 *를 붙여주면 된다!!!

* 가변길이 인자를 tuple로 인식한다.

 

ex) 보통 가변길이 파라미터를 args(arguments)로 conventional하게 사용됨.

def test(*args):
    for item in args:
        print(type(item))

 

 

  • Keyword parameter (키워드 파라미터)

파라미터 앞에 **를 붙여주면 된다!

* 인자를 dict로 인식한다.

ex) 보통 키워드 파라미터를 kwargs로 conventional하게 사용됨.

 

  • format 함수 (place hold) (가변길이 파라미터의 대표적 함수)
  • - place hold에 blank로 나둬도 되고 { }, 이름을 명시해도 된다. 

lambda 함수

 

- 한 줄로 표현되는 단일문 함수 (1회성)

- 형식 : lambda 입력 값 : return(출력) 값

- add = lambda x,y : x+y

  add(4,6)

- 유용한 경우 : 함수 안에 함수를 쓸 경우

  1. filter 함수

- 형식 : filter(함수, 리스트)

  리스트안의 각 원소마다 함수를 적용하여 True로 반환되는 부분을 반환 (Boolean 형태로 들어가야함)

 

 

   2. map 함수

- 형식 : map(함수, 리스트)

  리스트안의 각 원소마다 mapping

 

 

  3. reduce 함수

형식 : functools.reduce(함수, 리스트)

   리스트안의 각 원소를 차례로 2개씩 함수 적용하고 나온 값과 새로운 값을 또 연산..

 


 

'machine learning' 카테고리의 다른 글

[실력 있는 데이터 사이언티스트를 향해]  (0) 2022.02.28
[Python] Web Crawling  (0) 2021.02.07

관련글 더보기