Python_중첩함수

장해수·2023년 6월 10일
  1. 중첩함수
  • 함수 안에 또 다른 함수가 있는 형태
def out_function():
    print('out_function called')

    def in_function(): #중첩함수 
        print('in_function called')

    in_function() #함수 내에서 호출

out_function()
out_function called
in_function called
  • 내부 함수를 함수 밖에서 호출할 경우 실행되지 않음
def out_function():
    print('out_function called')

    def in_function():
        print('in_function called')


in_function() #함수 외부에서 호출할 경우 에러

out_function()
NameError: name 'in_function' is not defined
  1. 실습
    예제 1) calculator() 함수를 선언하고 calculator() 안에 덧셈, 뺄셈, 곱셈, 나눗셈 함수를 선언하자.
  • 코드
def calculator(n1, n2, operator):

    def addCal():
        add = n1 + n2
        print('덧셈: {}'.format(add))

    def subCal():
        substitute = n1 - n2
        print('뺄셈: {}'.format(substitute))

    def multipleCal():
        multiple = n1 * n2
        print('곱셈: {}'.format(multiple))

    def divideCal():
        divide = n1 / n2
        print('나눗셈: %.2f' % divide)

    if operator == 1:
        addCal()

    elif operator == 2:
        subCal()

    elif operator == 3:
        multipleCal()
    else:
        divideCal()

while True:
    n1 = float(input('실수(n1) 입력: '))
    n2 = float(input('실수(n2) 입력: '))
    operatorNum = int(input('1. 덧셈 2. 뺄셈 3. 곱셈 4. 나눗셈 5. 종료'))

    if operatorNum == 5:
        print('종료')
        break

    calculator(n1, n2, operatorNum) #operatorNum != 5인 경우 calculator() 함수 실행
  • 결과
실수(n1) 입력: 10
실수(n2) 입력: 4
1. 덧셈 2. 뺄셈 3. 곱셈 4. 나눗셈 5. 종료3
곱셈: 40.0

실수(n1) 입력: 7
실수(n2) 입력: 9
1. 덧셈 2. 뺄셈 3. 곱셈 4. 나눗셈 5. 종료5
종료
profile
데이터 진행시켜

0개의 댓글