함수란?
함수(function)란 하나의 특정한 목적의 작업을 수행하기 위해 독립적으로 구성된 프로그램 코드의 집합으로 볼 수 있다.
파이썬에서 함수의 구조는 다음과 같다.
함수 구조
def 함수명(입력 인수):
수행문장 1
수행문장 2
수행문장 3
⦙
간단하면서도 많은 것을 보여주는 다음 예제를 살펴보자.
코딩연습
def sum(a,b):
return a+b
a=1
b=2
c=sum(a,b)
print(c)
실행 결과
3
위의 예제에서 정의한 sum() 함수는 a와 b의 두 개의 매개변수를 가지며, 두 매개변수의 합인 a+b를 반환하는 함수이다.
다음 예제의 hi() 함수는 위의 예제와는 다르게 매개변수를 가지지 않는 형태의 함수이다.
코딩연습
def hi():
return 'hi'
x=hi()
print(x)
실행 결과
hi
다음 예제의 multi() 함수는 반환값(return)이 없는 형태의 함수이다.
코딩연습
def multi(a,b):
print("%d X %d의 곱은 %d입니다." % (a,b,a*b))
multi(2,4)
실행 결과
2 X 4의 곱은 8입니다.
앞선 예제에서 우리는 매개변수가 없거나, 한 두개로 고정된 함수를 살펴 보았다.
그렇다면 상황에 따라 다른 수의 매개변수를 전달받는 함수는 어떻게 선언해야 할까.
다음 예제를 보자.
코딩연습
def sumMany(*args):
sum = 0
for i in args:
sum = sum+i
return sum
temp = sumMany(1,2,3,4,5,6,7,8,9,10)
print(temp)
실행 결과
55
위 예제의 sumMany() 함수에서 우리는 매개변수를 *args라고 선언하였다.
이 표현은 해당 함수는 상황에 따라 다른 수의 매개변수를 전달받을 수 있다는 의미이다.
'python 개념정리' 카테고리의 다른 글
[파이썬]I/O 함수 , 파일 입출력 함수 (0) | 2021.09.03 |
---|---|
[파이썬] for 문 (0) | 2021.09.02 |
[파이썬] 무한루프의 개념과 종료 (0) | 2021.09.02 |
[파이썬] while문 (0) | 2021.09.01 |
[파이썬] if 조건문 3 (0) | 2021.09.01 |