개발공부

[Python] Function (함수) 표현, 실행 순서, 예제 본문

Python/Basic

[Python] Function (함수) 표현, 실행 순서, 예제

mscha 2022. 4. 26. 16:09

FUNCTION (함수)

 - 함수란, 재사용되는 코드 블럭입니다.

 - Data or arguments 가 전달되고, 결과가 return 됩니다.

 - 우리가 프로그래밍 하다가, 반복되거나 재사용되는 코드 블럭이있으면, 이를 함수로 만들면 됩니다.

 - 이렇게 재사용이 잘되는 함수들을 만들어 놓은게 있습니다. 이를 라이브러리라고 합니다.

 

함수 표현의 기본 

def function_name(parameter) :

	**** 함수의 내용 ****

return retern_value

 

함수는 위와같은 식으로 표현할 수 있다.

 

CPU에서 함수의 실행 순서

def function_name(arg_1, arg_2) :

	**** 함수 내용 ****
    return [expression]
    

function_name(arg_1, arg_2)

위와 같은 함수를 호출하면  arg_1, arg_2의 값을 대입하여 함수가 실행되고 [expression] 이 리턴된 후 함수는 종료된다.

 

함수만들기 예제

1. Parameter가 하나인 경우

# 어떤 숫자 1개를 함수의 파라미터로 입력받으면, 
# 그 숫자를 제곱해서 리턴하는 함수

>>> def squared(num) :
>>>     result = num ** 2
>>>     return result

>>> squared(5)

25

 

2. Parameters 가 두개인 경우

# 어떤 숫자를 넣고, 그리고 그 숫자를 몇번 제곱할지를 넣으면
# 해당 숫자를 몇 제곱하여 리턴하는 함수

>>> def pow_times(number, count) :
>>>     result = number ** count
>>>     return result

>>> pow_times(3, 4)

81

 

3.  Return 이 없는 경우

# 화면에 다음처럼 출력하는 함수 만들기 
hello
bye

>>> def my_function() :
>>>     print('hello')
>>>     print('bye')

>>> my_function()


hello
bye

 

4. Return 값이 둘 이상인 경우

# 숫자를 두개를 입력받으면, 그 숫자들로 나눈 몫과 나머지를 리턴하는 함수

>>> def my_func(num1, num2) :
>>>     result1 = num1 // num2
>>>     result2 = num1 % num2
>>>     return [result1, result2]

>>> my_func(10, 5)

[2, 0]

 

5. Default parameter

# 이름과 나이를 입력받으면, 다음처럼 출력하는 함수
# "제 이름은 ...이고, 나이는 ...살 입니다."

# name을 쓰지 않으면 '김나나'로 출력되고, 
# age를 쓰지 않으면 33이 출력된다.
>>> def say_hello(name = '김나나', age = 33) :
>>>     print('제 이름은 {}이고, 나이는 {}살 입니다.'.format(name, age))

>>> say_hello( '홍길동', 27)
제 이름은 홍길동이고, 나이는 27살 입니다.


# age를 입력하지 않아 나이가 33로 출력된다.
>>> say_hello('홍길동')
제 이름은 홍길동이고, 나이는 33살 입니다.


# argument를 명시해서 age를 22로 출력한다.
# name은 쓰지 않아서 default 값인 김나나로 출력한다.
>>> say_hello(age = 22)
제 이름은 김나나이고, 나이는 22살 입니다.


# argument를 둘다 명시해도 된다.
# argument를 명시할 때는 순서가 상관없다.
>>> say_hello(age = 29, name = '김길동')
제 이름은 김길동이고, 나이는 29살 입니다.


# argument를 입력하지 않아도 default parameter가
# 설정되어 있으면 자동으로 default 값으로 함수가 출력된다.
>>> say_hello()
제 이름은 김나나이고, 나이는 33살 입니다.