Python_함수

장해수·2023년 6월 9일
  1. 함수
  • 특정 데이터를 입력하면 정의된 내용에 의해 결과값을 반환하는 기능
  • 파이썬의 함수는 수학의 함수와 동일함

1) 내장 함수

  • 파이썬에 기본으로 제공하는 함수

2) 사용자 함수

  • 사용자가 직접 선언하는 함수

3) 함수를 사용하는 이유

  • 함수는 특정 기능을 재사용하기 위해 사용
  1. 함수 선언과 호출
    1) 함수 선언

def 함수명(x, y):
return x + y

def addCal():               #함수 선언
    n1 = int(input('n1:'))  # 함수 실행부
    n2 = int(input('n2:'))

    print(f'n1 + n2 = {n1 + n2}')

addCal()                    #함수 호출

2) 함수 호출

  • return > 함수 실행 결과를 호출부로 반환할 수 있음
def calculator(n1, n2):
    result = n1 + n2

    return result

returnValue = calculator(10, 20)
print(returnValue)
  • 함수가 return을 만나면 실행을 종료함. return 이후에 구문이 있을 경우 실행되지 않음
def calculator(n1, n2):
    result = n1 + n2

    return result
    print('hello') #return 이후에 있어 실행되지 않음 

returnValue = calculator(10, 20)
print(returnValue)
  1. 함수 내 또 다른 함수 호출
def fun1():
	  print('fun1 호출')
      fun2
      print('fun2 호출 후 실행) #fun2가 모두 실행되고 난 이후 실행
      
  def fun2():
	  print('fun2 호출')
      fun3
      
  def fun3():
	  print('fun3 호출')
  fun1()    
    fun1 호출
    fun2 호출
    fun3 호출
    fun2 호출 후 실행
  1. 실습
    예제 1) 정수 두 개를 입력하면 곱셈과 나눗셈 연산 결과를 출력하는 함수를 만들고 호출해보자.
  • 코드

def calFnc():
    n1 = int(input('n1:'))
    n2 = int(input('n2:'))

    print(f'n1 * n2 = {n1 * n2}')
    print(f'n1 / n2 = {n1 / n2}')

calFnc()
  • 결과
n1:10
n2:20
n1 * n2 = 200
n1 / n2 = 0.5

예제 2) 구구단 출력 함수가 연쇄적으로 호출되도록 함수를 선언해보자.

  • 코드
def gugudan2():
    for i in range(1, 10):
        print('2 X {} = {}'.format(i, 2 * i))

    gugudan3()

def gugudan3():
    for i in range(1, 10):
        print('3 X {} = {}'.format(i, 3 * i))

    gugudan4()

def gugudan4():
    for i in range(1, 10):
        print('4 X {} = {}'.format(i, 4 * i))

    gugudan5()

def gugudan5():
    for i in range(1, 10):
        print('5 X {} = {}'.format(i, 5 * i))

gugudan2()
  • 결과
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45

예제 3) 사용자가 길이(cm)을 입력하면 mm로 환산한 값을 반환하는 함수를 만들어보자.

  • 코드
def cmToMm(cm):
    result = cm * 10
    return result

length = float(input('길이(cm): '))
returnValue = cmToMm(length)
print('returnValue: {}mm'.format(returnValue))
  • 결과
길이(cm): 168
returnValue: 1680.0mm

예제 4) 1부터 100까지의 정수 중에서 홀수인 난수를 반환하는 함수를 선언하자.

  • 코드
import random

def getOddRandomNum():

    while True:
        rNum = random.randint(1, 100)
        if rNum % 2 != 0:
            break
    return rNum
print ('returnValue: {}'.format(getOddRandomNum()))
  • 결과
returnValue: 29
profile
데이터 진행시켜

0개의 댓글