python+OpenCVで顔認識をやってみる(Qiita)
是非試してみて下さい。pythonを使ってOpenCVを利用する為に、環境設定などが大変だったので、後ほど紹介したいと思います。
さて、今回は、Pythonチュートリアルから、関数(function)について紹介します。関数は、メソッド、サブルーチンなど様々な言葉でさすが、一つの固まりを指します。
プログラミングで、よくfunction()という書き方を目にすると思いますが、あくまで一機能を示しているのです。
そして、関数は書く言語によって、どういう約束で書くかなどが決まっています。
まずは、以下の関数を見てみましょう。
是非試してみて下さい。pythonを使ってOpenCVを利用する為に、環境設定などが大変だったので、後ほど紹介したいと思います。
さて、今回は、Pythonチュートリアルから、関数(function)について紹介します。関数は、メソッド、サブルーチンなど様々な言葉でさすが、一つの固まりを指します。
プログラミングで、よくfunction()という書き方を目にすると思いますが、あくまで一機能を示しているのです。
そして、関数は書く言語によって、どういう約束で書くかなどが決まっています。
まずは、以下の関数を見てみましょう。
これは、フィボナッチ数列というもので、葉の分岐に関係するとかしないとか。。!
ここでのdefはdefine(定義)の意味です。一番最初にこんな機能だよ!ということを紹介する挨拶みたいなものです。
ここでのdefはdefine(定義)の意味です。一番最初にこんな機能だよ!ということを紹介する挨拶みたいなものです。
def は関数の 定義 (definition) を導くキーワードです。 def の後には、関数名と仮引数を丸括弧で囲んだリストを続けなければなりません。関数の実体を構成する実行文は次の行から始め、インデントされていなければなりません。
def fib(n):と、最後に:コロンをつけて関数を定義することが出来ます。
fib(n)の(n)とは、仮の引数です。命令を書く時にどこまでの値を扱うかなどを決める時に使います。
fib(n)の(n)とは、仮の引数です。命令を書く時にどこまでの値を扱うかなどを決める時に使います。
因みに、defの中で定義されたnはあくまで仮の姿なので、あとから定義すれば、実引数は何を書いても良いそうです。
fibは、サブルーチンの一つです。
サブルーチンで検索すると以下のように紹介されます。
fibは、サブルーチンの一つです。
サブルーチンで検索すると以下のように紹介されます。
プログラミングにおいて、コード中で何度も必要とされる定型的な処理を一つのプログラムにまとめて外部から呼び出せるようにしたもの。汎用性の高いコードをサブルーチンとして切り出すことにより、似たようなコードを何度も記述する必要が無くなり、コード量の削減や開発効率の向上、不具合発生率の低減などが見込める。サブルーチンを呼び出す際に動作を指定する設定値を与える場合があり、この値を引数(ひきすう)、パラメータなどと呼ぶ。また、実行後に呼び出し元のプログラムに処理結果のデータなどを返す場合があり、この値を返り値、戻り値などと言う。引数と返り値のあるサブルーチンを特に関数と呼ぶことがある。C言語のようにサブルーチンをすべて関数とする言語や処理系もある。
例えば、while~という同じ処理をいちいち何度も書くのは凄い大変だし、書くのが煩雑になります。だから、サブルーチンというおまじないを使って、同じことが出来るようにするのでした。
上のa,b =b,a+bは並列的に代入を繰り返しています。bをaに代入し、a+bをbに代入することで、aの値が+bずつ増えていくことになります。
もう少し簡単なコードを見てみましょう。
もう少し簡単なコードを見てみましょう。
f(x)を実行しようとすると
ここでn=3という箱が作られます。ただし、箱の引き渡しはせず、中身を渡します。
次に、n=10で上書きされるので、10が出力されます。
その後、関数が終了すると仮引数(n)は自動消滅します。なので、例えば、以下のように、関数の外でzと書いても、反応しません。
ここでn=3という箱が作られます。ただし、箱の引き渡しはせず、中身を渡します。
次に、n=10で上書きされるので、10が出力されます。
その後、関数が終了すると仮引数(n)は自動消滅します。なので、例えば、以下のように、関数の外でzと書いても、反応しません。
関数サブルーチンの名前を入力すると名前が示されます。ある関数から別の関数に渡すということも可能です。
また、同じ変数名で定義してしまうと上書きされます。
また、同じ変数名で定義してしまうと上書きされます。