Pythonでの関数の作り方を自分用のメモとして置いておきます。
定義
関数名をfunctionとする。
def function():
pass
#引数なし
引数
関数にデータ(int,str,class等)を渡す。
引数(ひきすう)名をargsとする。
def function(args):
#引数あり
print(args)
def function2(args1,args2):
#引数は何個でも取れる
print(args,args2)
def function3(args="Hello World"):
#引数に初期値を設定できる
#呼び出し時に引数がなければargsには"Hello World"が入る
print(args)
戻り値
関数内の処理の結果を返す。
def function(args):
#戻り値あり
n = args * 2 #引数を2倍して返す
return n
def function2(args,args2):
a = args + args2
b = args - args2
return (a,b) #タプル型で返す
返す型は何でもいい
呼び出し
関数を呼び出すには 関数名() で呼び出せる。
def function():
print("Hello World")
function()
# ------------
# Hello World
# ------------
引数がない場合は()内に何も書かなくていい。
書くとエラーが出る。
TypeError: function() takes 0 positional arguments but 1 was given
引数
引数は()の中に書く。
def function(args):
print(args)
function("Hello World")
# ------------
# Hello World
# ------------
引数を設定しないとTypeErrorが起きる。
TypeError: function() missing 1 required positional argument: 'args'
戻り値
戻り値は変数に入れることができる。
def function(args):
n = args * 2
return n
n = function(5)#function関数の戻り値を変数nに代入
print(n)
# --------
# 10
# --------
その他
関数内から別の関数を呼ぶこともできる。
def function(args):
n = function2(args,10)#function関数内からfunction2関数の呼び出し
print(n)
def function2(args,args2):
n = args * args2
return n
function(5)
# --------
# 50
# --------