[TIL]Python関数
n.関数
パラメータ:入力した値として関数に渡される変数を受信します.
引数:関数の呼び出し時に渡される入力値
def add(a,b): #a,b는 매개변수
return a+b
print(add(3,4)) #3,4는 인수
関数の形状
関数の形式は4つのタイプに分けられます.
一般関数
入力値と結果値を持つ関数
値が入力されていない関数
def say():
return 'Hi'
a = say()
print(a)
'Hi'
def add(a, b):
print("%d, %d의 합은 %d입니다." % (a, b, a+b))
add(3, 4)
'3, 4의 합은 7입니다.'
print文は、関数の構成要素である「実行する文」にすぎません.結果値はreturnコマンドとしてのみ返されるため、結果値はありません.
a = add(3, 4)
print(a)
None
結果値がない場合に変数に代入すると、値が偽りであるNoneを返します.値と結果値が入力されていない関数
def say():
print('Hi')
say()
'Hi'
入力値が何個あるか分からない場合に、すべての入力値を加算する関数です。
def add_many(*args):
result = 0
for i in args:
result = result + i
return result
パラメータ名に*を付けると、すべての入力値がtupleになります.result = add_many(1,2,3)
print(result)
#6
result = add_many(1,2,3,4,5,6,7,8,9,10)
print(result)
#55
これにより、入力値の個数にかかわらず使用できます.パラメータを追加して関数に条件文を作成することもできます.
def add_mul(choice, *args):
if choice == "add":
result = 0
for i in args:
result = result + i
elif choice == "mul":
result = 1
for i in args:
result = result * i
return result
result = add_mul('mul', 1,2,3,4,5)
print(result)
#120
バイナリしゅつりょくかんすう
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(a=1)
#{'a': 1}
print_kwargs(name='foo', age=3)
#{'age': 3, 'name': 'foo'}
関数の結果値は1つで、複数の値を返す場合はパッケージ化して1つに送信します.tupleではなくn個の結果値を取得したい場合は、呼び出し時にn個の変数に代入すればよい.初期値の設定
パラメータの初期値をプリセットできます.
def say_myself(name, old, man=True):
このように設定すると、呼び出し時に3番目の引数をtrueと書くと、パラメータをFalseと書くと、出力されるパラメータはプリセット値と同じで、プリセット値とは関係ありません.
初期値を設定したパラメータが最後の位置でない場合、初期値を設定したパラメータの後にエラーが発生し、初期値を設定していないパラメータが使用できないことを示します.
lambda
関数を1行に簡略化します.returnコマンドがなくても、結果値が返されます.
add = lambda a, b: a+b
result = add(3, 4)
print(result)
#7
注意:https://wikidocs.net/24Reference
この問題について([TIL]Python関数), 我々は、より多くの情報をここで見つけました https://velog.io/@lj05117/TIL-Python-함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol