컴퓨팅 핵심 - Function

Danna Ahn·2022년 10월 24일
0

컴퓨팅 핵심

목록 보기
5/6

Function

  • 코드의 간결성
  • 코드의 재사용성
  • 코드 수정의 용이성
  • 프로그램의 모듈화

내장함수 Vs. 사용자 정의 함수

  • 내장함수 : 자주 사용하는 기능을 미리 만들어 내장시킨 함수
  • 사용자 정의 함수 : 프로그래머가 필요에 의해 만든 함수

Arbitary Arguments, *args

  • arguments의 개수를 모를 때 *를 붙임 -> tuple로 받음

Arbitary Keyword Arguments, **kwargs

  • arguments가 많은데 그 즁 몇 가지 값만 변경하여 전달할 때 사용 -> dic으로 받음

Variable Scope

  • 지역변수
    • 함수 내부에서만 유효한 변수
    • 함수가 호출되었을 때 생성, 벗어날 때 사라짐
  • 전역변수
    • 전체에서 유효
    • 프로그램이 시작될 때 생성, 끝날 때 사라짐

전역 변수의 값을 함수 안에서 사용하는 방법

1) global 키워드 사용
2) 매개변수 전달

High Order Function (고차함수)

  • 함수를 다루는 함수
  • 함수를 인자로 받거나 함수를 반환하는 함수
  • 고계 함수는 lambda() 함수와 주로 사용
  • map, reduce, filter
  • 맵리듀스(map-reduce) 알고리즘 : 대용량 분산처리 시스템에서 각각의 work를 쪼개서 여러 시스템에 나눠 주고 (map) 다시 그 결과를 합쳐서 (reduce) 반환해주는 알고리즘

reduce()

  • 반드시 두 개의 전달 인자가 있어야 함
from functools import reduce
reduce(lambda x, y: x+y, {2: '안녕', 4: '하세요'})
# 6
profile
빨간 머리 개발자

0개의 댓글