Jun's Blog

간단한 기능 구현해보기(함수) - (4) 본문

Python

간단한 기능 구현해보기(함수) - (4)

luckydadit 2025. 3. 5. 14:58

1. 함수 선언하여 사용해보기

# def는 define의 줄임말
# def 함수이름(매개변수01 = [기본값], 매개변수02, ...):
def add(first, second): # 함수 정의
    return first + second
# end def

su01 = 14
su02 = 5

# positional argument : index 기반 매개 변수 전달 방식
result = add(su01, su02)
print('%d + %d = %d' % (su01, su02, result))

print('%d + %d = %d' % (100, 200, add(100, 200)))

 

<출력결과>

 

su01 = 111
su02 = 222

# keyword argument : 키워드 기반으로 매개 변수 전달 방식
result = add(second=su01, first=su02)
print('%d + %d = %d' % (su01, su02, result))

# positional 방식과 keyword 방식이 혼재
result = add(su01, second=su02)
print('%d + %d = %d' % (su01, su02, result))

 

<출력결과>

 

1.1 함수 매개변수의 기본값 사용하기

# def 함수이름(매개변수01 = [기본값], 매개변수02, ...):
def add(first, second = 50): # 함수 정의
    return first + second
# end def
# 기본 값 사용하기
result = add(10)
print('%d' % (result))

 

<출력결과>

 

def ScoreInfo(name, kor, eng = 50, math = 60):
    print('%s 학생의 정보' % (name))
    print('국어 : %d, 영어 : %d, 수학 : %d' % (kor, eng, math))
# end def
name, kor, eng, math = '홍길동', 50, 60 ,70

# positional argument 방식
ScoreInfo(name, kor, eng, math)
ScoreInfo('박영희', 80)

# keyword argument 방식
ScoreInfo(math = 30, eng = 90, name = '김언어', kor = 100)

# 혼합 형태 : positional, keyword argument
ScoreInfo('김아무개', kor = 80, math = 90)

# keyword argument는 positional argument 앞에 놓을 수 없습니다.
# ScoreInfo(math = 40, 80, 60)

 

<출력결과>

 

def ScoreInfo(name, kor, eng = 50, math = 60):
    total = kor + eng + math
    average = total / 3.0

    if average >= 70.0 :
        passOrFail = '합격'
    else:
        passOrFail = '불합격'
    # end if

    print('\n%s 학생의 정보' % (name))
    print('국어 : %d, 영어 : %d, 수학 : %d' % (kor, eng, math))
    print('총점 : %d, 평균 : %.2f, 합격여부 : %s' % (total, average, passOrFail))

# end def

name, kor, eng, math = '홍길동', 50, 60 ,70

# positional argument 방식
ScoreInfo(name, kor, eng, math)
ScoreInfo('박영희', 80)

# keyword argument 방식
ScoreInfo(math = 30, eng = 90, name = '김언어', kor = 100)

# 혼합 형태 : positional, keyword argument
ScoreInfo('김아무개', kor = 80, math = 90)

# keyword argument는 positional argument 앞에 놓을 수 없습니다.
# ScoreInfo(math = 40, 80, 60)

 

<출력결과>

 

2. Exception 함수를 활용해보기

def girlFriendCheck(findName):
    girlFriend = ['은하', '소원', '유주', '예린', '신비', '엄지']

    isMember = findName in girlFriend

    if isMember:
        message = f'{findName}님은 여자 친구 멤버가 맞습니다.'
        print(message)
    else:
        # raise 키워드를 사용하여 사용자 정의 예외를 발생시킵니다.
        message = f'{findName}님은 여자 친구 멤버가 아닙니다'

    # end if
# end def

name01 = '마스'
name02 = '유주'


girlFriendCheck(name01)
girlFriendCheck(name02)

 

<출력결과>

 

def girlFriendCheck(findName):
    girlFriend = ['은하', '소원', '유주', '예린', '신비', '엄지']

    isMember = findName in girlFriend

    if isMember:
        message = f'{findName}님은 여자 친구 멤버가 맞습니다.'
        print(message)
    else:
        # raise 키워드를 사용하여 사용자 정의 예외를 발생시킵니다.
        message = f'{findName}님은 여자 친구 멤버가 아닙니다'
        raise Exception(message)
    # end if
# end def

name01 = '마스'
name02 = '유주'

try:
    girlFriendCheck(name01)
    girlFriendCheck(name02)
except Exception as err: # 예외클래스 as 예외객체별칭
    print(f'예외 발생 : {err}')

 

<출력결과>