Transcript for:
関数とラムダ式の基礎

はいこんにちは今回は配送入門の第16回目を始めていきたいとおもいます 今回ですね関数の後半戦をやっていきたいと思いますので前回の続きのないようになり ます 今回はですねこちらの関数のイメージっていうところから入って後ですね キーワード引数とラムダ式っていうのをやってこの関数のセクション終わりたいかなと 思います それで早速ないように入っていくんですけどもこちらの関数のイメージ 奴はですねどちらかというと前回の復習の部分になりますのでもしですね 関数についてしっかりと理解できているよと言った方はですねこちらは飛ばして いただいても大丈夫かなと思います ただ逆にですね半数についてちょっとまだ曖昧な部分が残っているなぁといった方は ですね ぜひ聴いていただけたらいいのかなと思います それではないように入っていきましょう まずですねこちら関数のイメージになるんですけども 前回ですねこのリターンというのを使って関数を作成したんですね ただこのリターンとは一体何なんだといった感じでですね ちょっとまだ関数について腑に落ちない部分があるのかなと思います それでですねこのリターンについてなんですけどもこれをですね 考える時に例えばなんですけど中学校の時になった こちらの一次関数ですよね fx は x +さんっていう関数を これをですねあ依存で書くとどうなるかっていうところなんですけどもこれですね レフの f でこの格好の中に x 入れてあげて でリターンでですね x +さん愛してあげると この一時意識の fx = x +さんっていうのは 廃村で書くとこのようにかけるんですねそれでこの x2 にを言えると2/+3で5になると でこの号ですねリターンで返してあげるということになるんですけどもこれはですね 一次関数の考え方とまったく同じなんですね なので要するにこの python で出てくるリターンというのは x +3を計算して答えを出すと同じ意味になるんですね なのでこのリターンを使うタイミングっていうのは関数に何か者の変数を入れて その結果を渡して欲しいなあと思った時に今のリターン下の使うんですね 逆にですねこのリターンていうのを使わないと機械が計算した結果 要するにこのパイソンプログラムですよねこれで計算した結果を自分たちが取得でき なくなってしまうと なので関数の中で何か処理をしてその結果を返して欲しいよと言った時にこのリターン ての使ってあげるんですね でここまでの話をまとめるとこのリターンというのイメージするにはですね こちらの fx = x +さんのように 中学校の時に習った数学の関数をイメージしてあげるといいのかなと思います それではですね貫通のイメージを持ったところで引き続き 関数について深堀りしていくんですけども今ばですね キーワード必須っていうのを学習するんですね でそれがこちらになるんですけども 例えばですね今までと同じ要領でこちら苗字+名前を返す関数を作成するとこれ要する にフルネームを返すということなんですけれどもこういった関数を作成したいと思い ますまずですね デフを書いてあげてその後に関数名はゲットフルネームとかにしましょうか get フールネームですね 2 でこの格好の中にミューズと名前っていうのを入れてほしいのでこちらですね ファーストと後ネームにしましょうかこの引数を得てあげると でコロン書いてあげてビターンでですね ファーストプラスでここでですね 感覚のスペース書いてあげてで最後にネームとこういった感じで書いてあげるんですね これでシフトエンターしてあげて そうするとですねこのように貫通が作成できるんですね なのでこちらを今までと同じように r という変数の中にですねペットフルネイルっていう関数を呼んであげて でこの引数の部分でですねじゃあファーストの方を 佐藤してあげて ネームの方太郎にしてあげようと思います そうするとですねこちら結果では佐藤太郎さんっていう名前になるはずなんですね なのでこれをシフトエンターして確認するとはいこちらの通りですね 佐藤太郎さんっていう名前になるかと思いますただですね この引数を渡す時になんですけども 佐藤太郎さんっていうこの 順番をですね逆にするとどうなるかと 行った話なんですけどもこれですね実際に最初 太郎さんにしてあげてラーとに佐藤さん って苗字の方ですねそれを書いてあげて この結果をプリントしてあげたいと思います はいそうするとですねこちらタロ佐藤さんということで奇数の順番を逆にして4 アウトですねアメリカの名前になってしまうんですねでこれを対策するのが今回学習 するキーワード引数奴になります で実際にどのような形で書いていくかっていう話なんですけどもこちらですね 先ほどと同じようにこの部分ですね r = get full name ペット 頃ちょっとコピーしてくるんですけどもここでですね これは元々の関数が get full name の でこっちがファースト 後ろがネームという風になっていたと思うんですけども これがですね要するにたの 最初に書いているからファーストの方に入ってしまって で外っていうのを臼歯に書いているから こちらネームというところに入ってしまっていたんですね なんですけどもこちらキーワード引数でですね ファーストうわっを 佐藤さんデー ネームは 太郎さんっていうふうに気数を実際に指定した形で書けるんですね でこれをですね実際にプリントしてみるとですねはい このようにですね他の砂糖という順番で書いていたのにも関わらず 順番がですねしっかり佐藤太郎版と日本語チックな名前になっているから だと思いますこのようにですねキーワード引数っていうのを書いてあげれば先ほどの ようにアメリカになぜ済みますし ラヴィラー c 思いをしなくてそのようになるんですね目で引数が2つくらいなら まだますなんですけども もう少し多くなってきてですね引数が3つとか4つとか そういった感じ引数を増やしていくといったときにはこのような形でキーワード引数を しっかりと書いてあげた方がいいのかなと思います ここまでがですね自分で作成する関数についてになります でさらにですね発展的な内容に入っていくんですけども それがですねラムダ式っていうやつになるんですね でこれ早速ないように入っていくんですけども 今まではですね引数でもらった値を半分にするか 変数を作成するといったときにはですね こちらもちろんなんですけども手振って書いてあげて座 ハーフのバリューと彼にしてあげましょうかでこの中ミニ x を入れてあげて でリターンでですね x を半分にしてあげると で f まあ中ですねでここでにお渡してあげて これをアールに入れてあげてで r ですね 実際にプリントをしてあげると これでシフトエンターするとはいこのようにですね にを半分にした値の位置が出力されるかと思います でこれと同じ事をですねこのラムダ式を使って書くとどうなるかっていう話なんです けども それがですねこちらなんですけども例えば今回は関数のな はよハーフ バリューのバージョン2にしておきたいと思います でこの中身を書いていくんですけどもここでですね ラムダって書いてあげてで引数が x になってこの x を半分にしてあげると このように処理をかけるんですよ で実際に実行する時は先ほどと変わらずですね こちらハーフの バリューの バージョン2ですね これでこの引数のな紙に2を入れてあげて 米国でですねプリントをしてあげるとれシフトエンターするとはいこないんですね にを半分にした市が返ってくるかと思いますでこの生じゃなんですけれども ちょっと難しそうだなぁと思われるかもしれないんですね たんだ結局ですねこの度もと書いていたこの関数がこのように あっただけで この関心を括弧の中に書いてた引数がこのラムダの後に来て でリターン回市で書いていた部分が返り血だけになってるんですね ラム出し切ったような無名関数とも呼ばれているんですけども その名前の通りでですねこちら関数名を定義開く でも関数を使いましたよね実践にこれダメ出しきっていうのはこの右の部分だけのこと を言ってるんですけどもこれはですね 関数名っていうのはステイしていませんでした今までですねこちらで振って書いた後に 貫通目をしっかり書いていたかと思いますこれが ラムらしきと普通の関数と の違いになりますねそれでこのなむなしきなんですけどもまぁどんなタイミングで つかんだといった話になると思うんですけどもこちらですね 関数名をわざわざ作るまでもないと簡単な処理を実行したいよと言った時に ラムらしきってのは使ってあげるんですねで実際にですね if 文を組み 合わせるともっとラグらしきの利便性がわかってくるので if 文を含めた関数を作成してみたいかなと思います でどんな関数を作るかっていうと位数がですね にで馬力でいるときはそのまま引数の値を返して気数が3で割り切れない時はですね 2で割り切れないことを知らせるそんな関数を作成してみたいかなと思いますで実際に 書いていくんですけども 今まではですね こちらで振って書いた後に今回ちょっと簡単に f っていう関数にしますけども でこの中ミニ x を入れターゲットですね もし x が3で割り切れた場合は そのまま x を返してあげるですねで2で割り切れないとき 要するにその他の場合にはに出具合きれないことを知らせてあげると なので2 day あまり綺麗 ません 子ですねこれでですねこちらパールの中になぁ今回も にを引数としていてあげてこの r を実際にプリントしたいと思いますそうすると ですね もちろんにっていうのはにで割り切れる2時になるので直接にが帰ってきたんですね で これをですね駄目だを使って書くとどうなるのかっていう話になるんですけどもそれは ですね 実際に書いていこうかなと思いますでラムダで書くときはですね the 普通っていう変数の中にこのラムダッシュ気を入れてあげたいと思いますでい 数は x で でここからなんです けれども返す値は x なんですね ただこれいつでも x を返してしまうと 2で割り切れなかった時が対応できなくなるのでここで if 文を書いていくんです ね でどんなふうに書けばいいのかっていうと これですね x 紹介しますただ クスがにで割り切れると気楽ですよとこういうふうにかけるんですね でさらにですね l すべー 要するに x2割り切れない時ですね その時は2で割り切れませんと このように書いてあげるんですねで実際ですね そりゃ r 2の中に今回のでふつうの結果っていうのを入れてあげて でプリントをしてみましょう そうするとですねこちらラムダ式で定義した こちらの関数もしっかりと実行できているかと思います でこれちょっと中身も変更してみて今回は3ds を入れてみたいと思います これで実行してあげると廃校ですね今回は 2で割り切れませんと出てきましたで こちらは1行でかけてるんですけども先ほどまで書いていた こちらですねこの場合だと関数を5秒書かないといけなかったんですね こういった感じですねこのラムダ式で夜を使ってあげるとかなりシンプルに行動を 描けるようになるのでよりですね アイソンらしさが増してくるかなと 思いますでこのラムダ式ってやつはですね のっちにデータサイエンスをやりたいと考えている方はですね こちら頻出項目になりますのでこのタイミングでしっかりと押さえておくようにし ましょう 無津呂んですねこちらデータサイエンスをやらない方に関してもぜひとも 習得しておくべき内容 になっています でこのラムダ式は僕自身も金に理解するのに苦労した内容になりますのでおそらくこの 動画を一回見ただけでは理解できないような そのぐらい難しい内容になっているかと思いますなので何回かこの動画を見返して いただいてそれで復讐を重ねることで理解を深めていただけるといいのかなと 思います それでは今回の動画これで以上になります ねえか分からないところがあったら是非お気軽にコメントいただけると嬉しいです またいつも高評価コメントいただき本当にありがとうございますそれでは引き続き 頑張っていきましょう