お帰りなさい｡
フォーマットされた文字列のトピックについて説明します｡
今までは単純な文字列を書くだけでしたが､ 動的なプログラム､ 静的なプログラムを作りたいのです｡
例えば､ Amazonのページがあって､ 実はAmazonで仕事をしているとします｡
そして､ ユーザーがプロフィールにログインしたときに､ まあ､ 名前やカートにあるものを表示させたいわけです｡
その場合､ ハードコーディングして､ アンドレとか､ 別のユーザーであるジョーとか､ いちいちユーザーの名前を書くのでは困ります｡
いいえ｡
理想的なのは､ 例えばプロフィールページでname変数を使い､ それをページに表示するような動的なものを作ることです｡
このname変数はユーザーの名前と同じであるべきで､ これはデータベースから取得できるものです｡
しかし､ ここでは､ equalを実行するときに､ いくつかのユーザー情報を取得することになると仮定しましょう｡
どちらが名前になるのでしょう｡
そして､ この名前は今のところ､ ジョンまたはレッツゴー､ ジョニーとする｡
そして､ このジョニーをプロフィールページに表示させたいのです｡
そして､ フォーマットされた文字列でそれを行うことができます｡
単純にプリントして名前を言うようなことをすればいいのです｡
でも､ その人に挨拶もしたい｡
そうですね｡
では､ そうしましょう｡
こんにちは｡
そして､ プラスネーム､ スペースを入れるのを忘れないように｡
実行をクリックすると､ 出る｡
こんにちは､ ジョニー｡
でも､ だんだん情報が増えてきて､ 例えば年齢があって､ ジョニーが55歳だとします｡
もし､ 文章を拡張して､ you areと言い､ さらにプラスを加えたい場合は､ ここにスペースを入れて､
your oldを加えることを確認します｡
ロンです｡
ふむ｡
よし､ タイプエラーになったぞ｡
intではなくstringでなければならない｡
まいったなぁ｡
では､ これを文字列に変換する必要があります｡
だから､ こうすればいいんだと覚えておいてください｡
そして､ 「実行」をクリックすると｡
こんにちは､ ジョニー｡
あなたは55歳､ または何歳ですか？
わかりました｡
それがちょっと面倒だったんですが､ Amazonのページをダイナミックにするんです｡
データベースから様々な情報を取得し､ ユーザーに応じた文字列を用意することができるのです｡
でも､ もっといい方法があるんです｡
そして､ フォーマットされた文字列では､ 最初にFをつけるだけでよい｡
そしてこの冒頭のFは､ Pythonに「これはフォーマットされた文字列になりますよ」と伝えるためのものです｡
そして､ プラスとか名前とか､ こういったことを全部やって､ STRで型変換をするのではなく
単純にこんな感じでやればいいんです｡
これを取り除いて､ 単純に括弧を付けて名前としましょう｡
そしてまた､ これをすべて取り除いてください｡
と言ってh｡
だから､ ハイ・ネームを言うんです｡
あなたはh歳です｡
そして､ ここをクリックすると実行されます｡
今でも通用することがわかりますね｡
Python3では先頭にFをつけることで新機能としている｡
これは､ 「おい､ これはフォーマットされた文字列になるんだから､ これらの変数を文字列としてこの文字列の中で使えるようにしろ」と言っているのです｡
どれだけきれいになったか？
Python 3以前は､ 文字列の書き方としてはこれが一番きれいでよかったのですが､
実際にはこれがなかったんですね｡
Python 2の場合､ そしてPython 3でも同様に動作することに注意してください｡
ご覧のように､ これを実現するために､ 私たちは何か違うものを用意したのです｡
私たちが持っていたのは､ このドットフォーマットという考え方でした｡
そして､ DOTフォーマット､ つまり､ ここのFを削除することで､ 同じことができるようになるのです｡
ここでブラケットを作り､ 「ジョニーが欲しい」と言うのです｡
そして年齢が55歳､ これらの変数名を削除すればいいのです｡
ここで実行をクリックすると
うーん｡
エラーが出るのですが､ ここは気をつけないといけません｡
ドットフォーマットは文字列に対して機能しますが､ こちらでは括弧の外側で行っているのがおわかりいただけると思います｡
そして､ このプリントに対してフォーマットアクションを実行してくださいということなのです｡
でも､ printって本当は文字列じゃないんですよね？
そこで､ このコードの一部を最初に評価するために､ 括弧を外側に移動することを確認する必要があります｡
つまり､ 文字列がフォーマットされ､ そして印刷されるわけです｡
これを実行すると
こんにちは､ ジョニー｡
あなたは55歳です｡
だから､ それと同じような仕組みになっています｡
しかし､ 変数を使いたい場合はどうすればいいのでしょうか？
今は順番にやっているだけだからです｡
だから､ 最初に来たものは､ 括弧の中に最初に記入されるんだ｡
まあ､ 名前みたいなことはできるんですけどね｡
とHさん｡
見てみよう｡
できるかな？
走ろう｡
これでよしとする｡
それと同じような仕組みですね｡
具体的な注文があったらどうする？
ここは年齢､ ここは名前にしたいのかもしれません｡
まあ､ それらを混ぜ合わせればいいんですけどね｡
コンピュータサイエンスでは､ 常にゼロから数えるので､ ここで1､ ここで0と言うことができるのです｡
つまり､ これがゼロで､ これが1なんです｡
もしここに何か他のもの､ 例えば3つ目の変数があったとしたら､ こうなります｡
へ｡
そこで､ ここで実行をクリックすると｡
わかりました｡
すべてが逆さまになっている｡
最後に､ やろうと思えば自分で変数を作ればいいんです｡
では､ ご挨拶を｡
新しい名前イコールとしましょう｡
サリーの年齢が､ 例えば100歳になる｡
サリーはとても高齢です｡
さて､ 0にした場合､ 例えば1にした場合､ ここで「実行」をクリックします｡
そのため､ 今度は実際に範囲外のタプルインデックスをエラーとして取得することになります｡
さて､ タプルと範囲についてあまり学習していないので､ ちょっとわかりにくいのですが､ ここでちょっとしたトリックを紹介します｡
与えたからには､ 今､ 加えることを確認したい｡
実際の変数は､ ここで実際に新しい名前を言う必要がある値です｡
そして､ ここにHが登場します｡
実行をクリックすると､ そうなるように｡
これでよしとする｡
こんにちは､ サリーさん｡
あなたは100歳です｡
DOT形式の場合､ ご覧のように少し複雑になっています｡
あなたはまだこれとすべてのpythonに表示されます｡
Pythonの3つのコードベースでは､ DOT形式を好む人がいるため､ DOT形式を使用しているコードも多く見られます｡
しかし､ 私は､ F．
フォーマットされた文字列の先頭にあるのが､ その理由です｡
まあ､ それだけで､ ずいぶん楽になるんですけどね｡
きれいになって､ いい感じ｡
ですから､ Fを前にしたフォーマットされた文字列を使用することをお勧めします｡
そして､ 略して､ 通常､ これをF線と呼んでいます｡
わかりました｡
次回作でお会いしましょう｡
バイバイ｡