[Python] TIL 04
n.関数
置換関数のデフォルト
プロファイル関数を呼び出したときにage、main langが受信されなかった場合、デフォルト設定の年齢とプライマリ言語が出力されます.
置換関数のキーワード
関数から渡されるパラメータ値をキーワードとして関数を呼び出すと,順序が混ざっていてもうまく伝達できる.
改行しないように設定したい場合は、
可変パラメータ
Profile関数に無制限のプログラミング言語を自由に追加できるようになりました.
ゾーン変数とグローバル変数
下図のように、gun変数が割り当てられていないエラー文が図のように表示されます.チェックポイント関数内の銃は外の銃ではなく、その関数内でしか使用できない変数なので初期化せず使用できません.
従って、chekpoint関数では
もう1つの方法は、関数の伝達値をパラメータとして計算し、戻り値を受け入れることです.
def open_account():
print("새로운 계좌가 생성되었습니다.")
def deposit(balance, money): # 입금
print("입금이 완료되었습니다. 잔액은 {}원 입니다.".format(balance+money))
return balance+money
def withdraw(balance, money): # 출금
if balance >= money: # 잔액이 출금액보다 많으면
print("출금이 완료되었습니다. 잔액은 {}원입니다.".format(balance-money))
return balance-money
else:
print("출금이 완료되지 않았습니다. 잔액은 {}원입니다.".format(balance))
return balance
def withdraw_night(balance, money): # 저녁에 출금
commission = 100 # 수수료 100원
return commission, balance-money-commission #튜플 형태로 반환
balance = 0
balance = deposit(balance,1000)
commission, balance = withdraw_night(balance,200)
print("수수료 {0}원이고, 잔액은 {1}원입니다.".format(commission,balance))
置換関数のデフォルト
プロファイル関数を呼び出したときにage、main langが受信されなかった場合、デフォルト設定の年齢とプライマリ言語が出力されます.
def profile(name, age=17, main_lang="파이썬"):
print("이름: {0} \t나이: {1}\t주 사용 언어: {2}"\
.format(name,age,main_lang))
profile("김채호")
profile("이윤수")
置換関数のキーワード
関数から渡されるパラメータ値をキーワードとして関数を呼び出すと,順序が混ざっていてもうまく伝達できる.
def profile(name, age, main_lang):
print(name,age,main_lang)
profile(name="김채호", main_lang="파이썬",age=19)
profile(main_lang="자바", age=22, name="이윤수")
改行しないように設定したい場合は、
end=" "
と書きましょう.可変パラメータ
*language
投げたいだけ投げます.for文にlang変数を作成し、言語に含まれる内容を1つずつ出力します.def profile(name, age, *language):
print("이름: {0}\t나이: {1}\t".format(name, age), end=" ")
for lang in language:
print(lang, end=" ")
print()
profile("유재석", 20, "Python", "Java", "C", "C++", "C#", "Javascript")
profile("김태호", 25, "Kotlin", "Swift")
Profile関数に無制限のプログラミング言語を自由に追加できるようになりました.
ゾーン変数とグローバル変数
下図のように、gun変数が割り当てられていないエラー文が図のように表示されます.チェックポイント関数内の銃は外の銃ではなく、その関数内でしか使用できない変数なので初期化せず使用できません.
gun = 10
def checkpoint(soldiers):
gun = gun - soldiers
print("[함수 내] 남은 총: {0}".format(gun))
print("전체 총: {0}".format(gun))
checkpoint(2)
print("남은 총: {0}".format(gun))
従って、chekpoint関数では
global gun
、グローバル空間ではgunを用いることができる.外には10という変数値があるので、この値を利用して関数出力を行います!もう1つの方法は、関数の伝達値をパラメータとして計算し、戻り値を受け入れることです.
gun = 10
def checkpoint_ret(gun, soldiers):
gun = gun - soldiers
print("[함수 내] 남은 총: {0}".format(gun))
return gun # return을 해줌으로써 바껴진 gun의 값을 외부로 던질 수 있다.
print("전체 총: {0}".format(gun))
gun = checkpoint_ret(gun,2) # 함수 내에서 계산되고 반환된 값을 받아서 다시 저장함
print("남은 총: {0}".format(gun))
Reference
この問題について([Python] TIL 04), 我々は、より多くの情報をここで見つけました https://velog.io/@jiiyoung/Python-TIL-04テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol