60秒以内にPythonの関数入門〈講座8〉
今回は複数の処理をまとめて、名前をつけることができる関数について見ていきます。
関数とは、「何かを入れる」と「何かが出てくる」仕組みのことなのです。
では今回、単に ビットコインの単価 と表示させるためだけの関数を作ってみます。
関数を作るには def としてあげて関数名をつけてあげます。
今回 show_price() とします、関数名には必ず () をつけてあげてください。
その後に : をつけてあげて、この関数で実行したい処理を字下げして何行でも書くことができます。
def show_price():
今回 btc 単価と表示させるだけなので print("btc:100万") とすれば OK です。
この関数を実行するには関数名に () をつけて呼んであげれば OK です。
def show_price():
print("btc:100万")
show_price()
それから似たような処理をしたいのですが、オプションを与えて少し結果を変えたいという場合もあります。
その場合は実行時に、例えば名前と単価を渡したいとして show_price("btc", 1000000)、それから show_price("eth", 20000) とすれば、こちらで受け取ることができます。
受け取った値を name と price という変数で使いたい場合は def show_price(name, price): としてあげて、処理の中で使うことができます。
では、今回はこちらに print("コイン名 {0}単価 ({1})".format(name, price)) として渡してあげると、結果が表示されます。
なお、このように関数に渡す値を引数と呼ぶので、用語として覚えておいてください。
それから引数には初期値を与えることができます。
例えば、price に何も渡らなかったら 0 にしたい場合はこちらで、例えば show_price("xrp") としてあげて 2 つ目(の引数)を何も渡さなければ、これは xrp (0) と表示されます。
もしくは、こちらの変数名を使って値を渡すことができます。
関数なのですが、何らかの値を返したい場合があります。
なお、return した場合は、それ以降の処理が無視されるので注意しておいてください。
例えばこの後に print("hello") とすると、これは表示されないです。
では、この関数を実行すると値が返ってくるので msg で受けてあげて、それを print してみましょう。
では実行してあげるとhello の方は表示されていないです。
それから関数の中身が何もなかった場合、もしくは後で書くので何か書いておきたい場合は pass というキーワードが使えます。
それから pass で何もしなかったり、return で値を返さなかった場合は、None という特殊な値が返ってきます。
これを実行してあげると、None となっています。
今まで見てきた関数なのですが、変数に関していくつか注意する点があるので、関数の中で宣言された変数は、その関数の中だけで有効というルールを覚えておいてください。
この範囲のことを、この変数のスコープと呼んだりするので、それも用語として覚えておきましょう。
もし外部と関数内部同時に修正したい場合はglobal を定義して、修正可能となります。
以上 よろしくお願いいたします。
この記事が気に入ったらサポートをしてみませんか?