VBA別館・Python別館
Python 自作関数2 - Tak
2019/01/09 (Wed) 20:59:39
今まで見よう見まねで関数を作ってきましたが、そのcodingの意味合いが良く分かっていませんでした。
そこで少ししつこく関数の作り方・使い方を書いてみたいと思います。
① 世界で一番簡単な関数
引数のない場合例1
-------------------
def 俳句(): #関数宣言
print('俳句と言えば芭蕉') #半角四つのインデントは必須です
俳句() #インデント不可。 俳句関数領域外から呼び出すこと
runすると、「俳句と言えば芭蕉」と表示される。
---------------
・これは引数も返り値(return)もない関数です。
・最後の俳句()というのが、関数である最初の俳句()関数を呼び出しているのです。 そしてその関数が「俳句と言えば芭蕉」をprint(表示)しているのです。
・これだけでは馬鹿馬鹿しく見えますが、言いたいのは、関数を先に宣言しておいて、後でその関数を呼び出すという手順を覚えて欲しいのです。
・そうすることによって、他のプラグラムからも、俳句関数を呼び出すことが出来るようになります(ここが大事!)
段々複雑な関数にして行きます。
Re: Python 自作関数2 - Tak
2019/01/10 (Thu) 08:59:36
② 引数ありの関数
----------------------
def keisan(a,b):
print(a*b)
keisan(3,5)
runすれば15と表示されます。
----------------------
・こういった自分流の関数を作っておけば、後で他のプログラムから呼び出して使えます。
Re: Python 自作関数 2 - Tak
2019/01/12 (Sat) 14:47:00
③ 引数を他の関数から呼び出せる関数
何のことやら良く分かりませんね。 まずその関数を見てみましょう。
-------------------------
def add(x, y): #関数宣言
return x + y #x+yの計算式
z = add(1, 2) #add関数にx=1、y=2を入れてreturnで受け取った計算式(x+y)の結果をzに格納します。
print(z) #計算結果を表示します。
結果は3ですね。
何となく分かりますよね。 defからreturnまでが一つの関数なのです。
Re: Python 自作関数2 - Tak
2019/01/12 (Sat) 14:55:33
④ 引数を他の関数から呼び出せる関数をもう一つ
-----------------------------
def add_mul(x, y): #関数宣言
return (x + y, x * y) #x+yとx*yを後出の呼び出しcodeに渡す
z1, z2 = add_mul(1, 2) #z1に1を、z2に2を入れて加算と乗算を行います。
print(z1, z2) #その結果 3,2 を表示します。
--------------------------
いまは簡単な計算なので、余り有難みが分かりませんが、複雑な計算になると拝みたくなりますよ。