Pythonによる人工知能学習 その6 関数で処理をまとめる
人工知能を活用した独自のボイスチェンジャーを開発したい!ということでPythonの学習を始めました。
✔関数とは?
今回は基礎編の最後になる「関数」について学んでいきます。同じ処理を何度も色んな場所で繰り返す時は、「関数」という処理にまとめて使い回すことができます。
# 消費税を返す関数
def culcTaxPrice(price):
tax = price * 0.1
return tax
# 関数を使うには?
print(culcTaxPrice(1000))
関数はdefを使って宣言できるようですね。呼び出しは関数名と必要な引数を渡す。引数は0個〜複数個設定できるようです。
返り値はreturn 変数で渡すことができるようです。
段々と、Pythonの勘所がわかってきた気がします。Swiftなどもそうですが、最近のプログラムは型宣言が無いものが増えてきた気がします。Javaなんかは型宣言を結構きちっとやるので、JavaDocなどドキュメントを自動生成する時に、関数の使い方が明確になっていいと先輩から教わった事があり、その癖が付いているので、なんとなく型宣言しないことは気持ちが悪い所もありますが、たしかに宣言しなくても使い方はわかりますからね。
✔関数の種類
①引数も戻り値もない関数
②引数だけある関数
③戻り値だけある関数
④引数も戻り値もある関数
①〜④の組み合わせが可能です。必要に応じて関数を作ればOKですね。 例えば先程のコード例は戻り値として消費税を返してから表示していましたが、表示まで関数の中で行って、戻り値無しという事もできます。
# 消費税を返す関数
def culcTaxPrice(price):
tax = price * 0.1
print(tax)
# 関数を使うには?
culcTaxPrice(1000)
このようにすることも可能という事ですね。returnを省略するのも有りのようです。
✔他の人が作ったプログラムを利用するには?
先程作ったプログラムをtax.pyというファイル名で保存して、そのファイルをimportで呼び出す事で利用可能になります。ファイル名.関数名()という呼び出し方になるようですね。ファイル名わかりやすくつけなくちゃ。
✔モジュール(ファイル)名を省略する方法
先程のtaxの部分を省略する方法が2つほどあるようです。1つ目が「import モジュール名 as 省略名」とすることで、モジュールが長いファイル名とかだった場合に省略する事ができるようです。
こういう感じですね。もともとが短いので効果性が薄い感じはしますがw
2つ目が「from モジュール名 import *」です。こちらはモジュール名を完全に省略できる方法です。ただ、同じ関数名がぶつかるような記述をしてしまうとエラーになったりするため、よっぽどの時以外はモジュール名があったほうがプログラムもわかりやすい気がします。
taxやtが完全に省略できちゃいました。
Pythonには色んな便利モジュールが用意されているという事なので、これからimportを使って色んなモジュールを活用してアプリを作るのが楽しみです〜。
たった2行のプログラムで、カレンダーが表示できちゃいました。便利〜。知識は水だ。
この記事が気に入ったらサポートをしてみませんか?