お帰りなさい｡
セイウチの話をしよう｡
OPERATOR そしてこれは､ まあセイウチみたいで楽しいですね｡
この海のように見えるのです｡
まあ､ セイウチってググればわかるけど､ 動物だよ｡
そして､ なんとなくそんな感じがする｡
これ､ ググってみてください｡
わかりました｡
気が散ってしまう｡
では､ これから知ることになる新しいオペレーターとは？
なぜこれを教えたいかというと､ Pythonの新機能を学ぶ方法も教えたいからです｡
例えば､ こんな新機能があります｡
Pythonのドキュメントを見ると､ 通常､ Pythonは新しいバージョンが出るたびに､ What's new in Pythonというドキュメントを作成します｡
だから､ Python 3で何が新しくなったのかが分かるかもしれません｡ 9.
Python 3 の新機能｡ 10?
そして､ その言語に追加された新機能の一部をまとめて紹介しています｡
なぜなら､ 言語は常に進化していることを忘れてはならないからです｡
そこで､ 新しい3について知りたいとします｡ 8つの機能は､ 今乗っている爬虫類が3つだとしますから｡
8.
だから､ このバージョン以前には書けなかったセイウチ演算子のような新機能も理解できるようになったんです｡
だから､ ドキュメントを見て､ Python 3で何が新しくなったかを確認するんだ｡ 8.
そして､ そのひとつが代入表現であることがわかります｡
セイウチオペレーターと呼ばれる
だから､ 普段ならどうするかというと､ 概要だけ読むことになる｡
この機能については､ このバージョンで追加されたすべての新機能について知ることができます｡
ここでは､ セイウチ演算子に注目してみましょう｡ この新しい構文は､ より大きな式の一部として変数に値を割り当てるという便利で楽しいものです｡
つまり､ 通常､ if文やwhile文のように何かを評価するときに､
式の中で使うのです｡
では､ これでどんなことができるのか､ 遊んでみましょう｡
では､ 文字列があるとすると､ これを文字列と呼ぶことにします｡
こんにちは｡
今､ この中に｡
例えば､ 条件文をやりたいとします｡
の長さがあれば言うことなし｡
は10より大きい｡
文字列を出力してほしい｡
それは単に長すぎるということです｡
そして､ 長さaとします｡
要素です｡
まあ､ ちゃんとやってくれよ｡
ここで､ 実行をクリックすると
長くなりすぎるんです｡
14の要素｡
それはなぜか？
さて､ ここでは各キャラクターに14の要素がありますから｡
10より大きいから｡
この条件ブロックが実行されると､ 長すぎてプリントアウトしてしまいます｡
14素子分の長さがあります｡
では､ セイウチオペレーターの出番は？
さて､ コードを書いていると､ ここでは長さを2回計算しているので､ 繰り返しになります｡
これを変数にして､ こことここで使いたいということで､ 何回か計算をしているんです｡
でも､ セイウチのオペレーターなら､ まさにそれができるんです｡
ドキュメントを見ると､ 「より大きな式の一部として変数に値を代入する」と書いてあるのを思い出してください｡
ここでできることは､ RNのような別の変数を作って､ WoolworthsのオペレーターであるColinのように言うことです｡
そして､ そこにある小さなウールワースも同じです｡
そして､ この端は長さaと同じになる｡
だから､ これを括弧でくくるだけです｡
つまり､ 式のこの部分を評価し､ 変数を代入しているのです｡
長さAの結果がどうであれ
つまり､ 今のNWはaの値を持つものなのです｡
だから､ これを置き換えることができるんです｡
NWと｡
そして､ 今これを実行すると
もう一度｡
同じことです｡
つまり､ 私たちができることは､ 割り当てることなのです｡
より大きな式の一部として､ 変数に値を設定します｡
例えば､ イコールの長さAをよくやったとしても､ これでは走らない｡
無効な構文です｡
でも､ セイウチのオペレーターがいるからこそ､ 今できるんです｡
念のため､ もう1回やってみましょう｡
ここで､ ワイルドループをするとしましょう｡ while loopは､ NW while we're so operatorと言うつもりです｡
長さa｡
今回も同じことをします｡
今回より少ないなら､ 1回やってみようか｡
そして､ このままでは､ NNの値を表示したいので､ 変数Aの値を1文字少なくなるように再代入します｡
だから､ ここのマイナスワンショートフォームでやればいいんです｡
ですから､ ここでループするたびに最後の文字を削除して､ a変数helloがどんどん小さくなっていくようにします｡
1に等しくなったら､ whileループは停止します｡
では､ これを実行してみましょう｡
よし､ 本当だ､ 本当だ､ 本当だ｡
そして､ ここでちょっとしたミスがありました｡ 括弧を思い出してください｡
まずはこれを評価したい｡
だから､ これをもう一度実行すると
14､ 13､ 12､ 11､ 10｡
これは､ 毎回計算されているaの長さです｡
そして最後の最後に､ 印刷すれば｡
A.
そして実行する｡
h残っているのがわかりますね｡
そこで､ セイウチのオペレーターです｡
あまり見かけないかもしれませんね｡
これは､ 例えばif文やwall文の中で､ ある条件に基づいて何かを行い､ その値を再び計算するような､
似たような計算を最小限にするための方法です｡
しかし､ これは同時に､ Pythonのバージョンを見て､ 新しい機能を知る方法を教えてくれるものでもあります｡
言語に追加される機能はほんの一握りです｡
セイウチ演算子やコードベースを見たときに､
それが何をするものなのか､ 言語の一部であることを理解できるようになります｡
次回作で見ます｡
バイバイ｡