関数-転送値、戻り値


📖 転送値
関数から値を取得するには、()(カッコ)に変数名を指定します.特に、この変数をパラメータ(parameter)と呼ぶ.
🔷 構文
# 함수 선언
def 함수명(매개변수1,):
    실행할 코드1
    실행할 코드2# 호출
함수명(인수,)
📌 引数(arguments):関数を呼び出すときに、関数内部で使用するデータを渡す役割を果たします.
🔷 例文
入力
def num(a, b):
    print(a + b)


num(1, 2)	# 정상 입력
num(10, 5)	# 정상 입력

num(5)		# 인수를 덜 입력
num(1, 3, 5)	# 인수를 더 입력
💻 しゅつりょく
3
15
TypeError
TypeError
📌 パラメータを渡す場合は、関数宣言で説明したパラメータの数と同じパラメータのみを渡す必要があります.
📌 渡されたパラメータ数がパラメータ数と異なる場合、タイプエラーが発生し、プログラムが強制的に終了します.
📖 戻り値(return)
Pythonでは、return文を使用して、関数内で複数の文を実行し、入力パラメータの結果を返すことができます.これらの戻り文は、関数の終了を表し、関数呼び出しの戻り値を返します.
🔷 構文
# 함수 선언
def 함수명(매개변수1,):
    실행할 코드1
    실행할 코드2return 반환값

# 호출
변수명 = 함수명(인수,)
🔷 例文.
入力
def sum(a, b):
    return a + b


x = sum(10, 20)
print(x)            # 변수 "x"를 생성하여 결과출력

print(sum(10, 20))  # 변수를 생성하지 않고 바로 결과출력
💻 しゅつりょく
30
30
🔷 例文.
入力
# 입금
def deposit(balance, money):
    print("입금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance + money))
    return balance + money

# 출금
def withdraw(balance, money):
    if balance >= money:  # 잔액이 출금보다 많으면
        print("출금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance - money))
        return balance - money
    else:
        print("출금이 완료되지 않았습니다. 잔액은 {0}원 입니다.".format(balance))
        return balance
        
balance = 0				# 초기잔액
balance = deposit(balance, 1000)	# 1000원 입금

balance = withdraw(balance, 500)	# 500원 출금
balance = withdraw(balance, 2000)	# 2000원 출금
💻 しゅつりょく
입금이 완료되었습니다. 잔액은 1000원 입니다.
출금이 완료되었습니다. 잔액은 500원 입니다.
출금이 완료되지 않았습니다. 잔액은 500원 입니다.
🔷 例文.
入力
# 입금
def deposit(balance, money):
    print("입금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance + money))
    return balance + money

# 출금
def withdraw(balance, money):
    if balance >= money:  # 잔액이 출금보다 많으면
        print("출금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance - money))
        return balance - money
    else:
        print("출금이 완료되지 않았습니다. 잔액은 {0}원 입니다.".format(balance))
        return balance

# 심야출금 (수수료 부과)
def withdraw_night(balance, money):
    commission = 100  # 수수료 100원
    return commission, balance - money - commission  # 2개의 값을 튜플형식으로
    
    
balance = 0						# 초기잔액
balance = deposit(balance, 1000)			# 1000원 입금


commission, balance = withdraw_night(balance, 500)	# 500원 출금 (심야출금)
print("수수료는 {0}원 이며, 잔액은 {1}원 입니다.".format(commission, balance))
💻 しゅつりょく
입금이 완료되었습니다. 잔액은 1000원 입니다.
수수료는 100원 이며, 잔액은 400원 입니다.
🔷 パラメータなしで戻り値のみの関数
入力
def one():
    return 1


x = one()
print(x)
💻 しゅつりょく
1
🔷 returnを使用して関数を終了する
入力
def num(a):
    if a == 10:
        return
    print(f"{a} 입니다.")


num(5)
num(10)
💻 しゅつりょく
5 입니다.
📌 num関数にパラメータ5が含まれている場合は「5」です.に出力します.
因数10が加算されるとif関数条件に合致する.したがって、関数の間から返されるため、次の印刷は実行されません.
したがって、何も出力されません.