본문 바로가기
방통대/파이썬

[파이썬] 9-1 함수

by 꿈꾸는 몽나 2024. 4. 18.
728x90

함수의 개념

: 특정 작업을 수행하는 명령문의 집합

-> 특정 작업을 함수의 이름으로 대체

-> 유사한 유형의 문제를 해결할 수 있도록 고려

 

: 사용자 정의 함수

-> 내장 함수와 달리 사용자의 목적에 따라 정의된 함수

 

: 반환값에 따른 함수의 종류

-> 반환값이 없는 함수 : print

-> 반환값이 있는 함수 : input, format, int 등

 

 

 

 

반환값이 없는 함수 정의

-구문형식

def 함수이름(매개변수 리스트):
    명령 블록

: 함수 이름은 식별자

: 매개변수 리스트는 0개 이상의 값을 함수 내부로 전달

: 함수 내부에서 매개변수 리스트는 변수와 동일하게 사용

 

 

예시) 

#원뿔 계산 함수 정의
def prt_cone_vol(r, h) :
    if r > 0 and h > 0 :
        # r, h 모두 양수일 때
        vol = 1/3 * 3.14 * r ** 2 * h
        print("원뿔의 부피는", vol, "입니다.")
    else :
        # r, h가 음수일 때
        print("반지름과 높이 값에 양수를 입력하세요.")
        
#반지름 30, 높이 50
rad = 30
hei = 50
prt_cone_vol(rad, hei)

선언한 rad, hei의 값이 2번째 라인의 prt_cone_vol의 매개변수로 들어간다.

 

 

예시2 - 숫자를 입력받아 역순으로 출력)

digits = 34567

def reverse_number(num) :   #매개변수 역할의 num
    while num != 0 :
        digit = num % 10
        num = num // 10
        print(digit, end="")
        
reverse_number(765)   #2번 줄에서 정의한 변수 num

 

 

 

 

반환값이 있는 함수

-구문형식

def 함수이름(매개변수 리스트):
    명령 블록
    return 반환값 리스트

: 실행 후 결과값을 남기는 함수

-> return 명령어와 반환값을 열거

-> 함수 내부에 여러 개의 return 사용 가능

 

 

 

1) format 함수

 

 

 

반환값이 있는 함수 예시)

def prt_cone_vol(r, h) :
    if r > 0 and h > 0 :
        # r, h 모두 양수일 때
        vol = 1/3 * 3.14 * r ** 2 * h
        return vol
    else :
        # r, h가 음수일 때
        print("반지름과 높이 값에 양수를 입력하세요.")
        
print(format(prt_cone_vol(10, 20), ">20.3f"), "입니다.")

 

 

 

 

동시 할당

: 복수개의 변수에 값을 동시에 할당

-> 변수의 개수에 상응하는 값을 콤마(,)로 나열

 

 

 

 

교환

: 복수 개의 변수에 할당하는 값을 맞바꿈

 

 

 

예시)

def prt_cone_vol(r, h) :
    if r > 0 and h > 0 :
        # r, h 모두 양수일 때
        vol = 1/3 * 3.14 * r ** 2 * h
        return vol, surf   #vol과 surf를 동시에 리턴
    else :
        # r, h가 음수일 때
        print("반지름과 높이 값에 양수를 입력하세요.")
        
vol1, surf1 = prt_cone_vol(50, 100)
print(vol1, "입니다.")
print(surf1, "입니다.")

 

 

 

예시2 - 오름차순 정렬과 교환)

a = int(input("첫번째 숫자를 입력하세요: "))
b = int(input("첫번째 숫자를 입력하세요: "))
c = int(input("첫번째 숫자를 입력하세요: "))

def sort3(a, b, c) :
    if a > b :
        a, b = b, a
    if a > c :
        a, c = c, a
    if b > c : 
        b, c = c, b
        
    print(a, b, c)
        
sort3(a, b, c)
print("출력이후", a, b, c)
728x90