함수(function)
함수는 특정 작업을 수행하는 명령어들의 모음
- 데이터 전달(매개변수(parameter), 인자값 (argument))
- 결과 값 반환(반환값(return값))
- 내장함수(파이썬에서 제공해주는 모듈형태의 함수)
- https://docs.python.org/3.8/
- abs()/input()/int()/print()...
3.8.12 Documentation
Python 3.8.12 documentation Welcome! This is the documentation for Python 3.8.12. Parts of the documentation: What's new in Python 3.8? or all "What's new" documents since 2.0 Tutorial start here Library Reference keep this under your pillow Language Refer
docs.python.org
- 사용자 정의 함수
함수의 필요성
Resource : CPU, CHACH, RAM, ROM, CD, DVD, DISK, HDD, SSD
한정된 컴퓨터의 자원 → 한정된 프로그램 코드를 저장 공간
동일한 코드를 반복하여 작성하는 작업을 줄이기 위해 함수를 사용/호출(call)하여 Resource를 효율적으로 사용할 수 있다.
sum = 0
for i in range(1,5)
sum += i
sum = 0
for i in range(1,10)
sum += i
# 매개변수만 다른 유사한 구조를 가진 코드이다.
# 효율적인 코드/가독성을 위해서 함수(function)를 사용한다.
# (call by value)받아온 데이터 값(변수)을 인자에 복사하여 처리함
def getSum(start, end)
sum = 0
for i in range(start, end+1)
sum += i
return sum
sum = getSum(1, 5)
sum2 = getSum(1, 10)
# 함수는 객체지향 프로그래밍 언어에서는 메서드라 지칭한다.
함수의 선언 및 구현/정의
함수의 문법
def 함수명 (매개변수1, 매개변수2) :
sentence1
sentence2
# 타언어들과 다르게 함수명 앞에 객체 타입을 정해주지 않는다
선언부 def(함수를 정의하는 키워드) + 함수명( 매개변수 ) + 콜론(:) //콜론(:) 함수 정의가 끝나지 않음을 표시
구현부 몸체
- 함수는 선언부(헤더)와 구현부(몸체)로 이루어졌다
- 매개변수는 외부에서 전달되는 데이터를 함수로 전달하는 변수이다.
- 함수의 구현부는 함수가 수행하는 작업을 위한 명령어들이 들어간다.
함수의 구현과 호출
- 함수는 구현한 후에 함수를 호출해야 실행된다.
- Call할 때 매개변수로 값을 1개를 주면 1개의 매개변수를 가진 함수가 호출됨
# [객체지향]
# 오버로딩(Overloading)
# python에서는 Overloading(하나의 함수로 여러 기능을 구현)의 개념이 없다
# 하나의 함수가 하나의 기능만을 구현해야 한다
# 같은 함수의 이름이라면 마지막에 정의되어진 함수만 인식하게 된다.
# 함수명은 함수의 내용을 알 수 있도록 하나의 이름만 갖는 함수명을 짓도록 한다.
함수의 장점
- 가독성 높음, 유지 보수가 쉬움
- 재사용이 가능함
- 구조화(구조적추상화)
함수의 호출
함수 호출(function call)이란 함수를 실행하기 위한 호출 (e.g. print()로 호출함)
함수 호출을 받은 서브루틴은 함수 계산을 실행한 후에 그 결과의 값을 호출한 루틴 또는 서브루틴에 되돌려 준다.
메인루틴함수 호출 → 서브루틴함수 계산 -> 결과값 서브루틴에 전달 -> 메인루틴으로 돌아옴
'python' 카테고리의 다른 글
[ADsP] (0) | 2022.05.01 |
---|---|
[기초 1-3] 함수(function) (0) | 2022.03.27 |
[Jupyter Notebook] Pandas (1. Series/Dataframe/Index) (0) | 2022.03.20 |
[Jupyter Notebook] Jupyter Notebook 준비 (0) | 2022.03.13 |
[기초 1-2] 함수(function) (0) | 2022.03.13 |