お帰りなさい｡
このコースでは､ プロジェクトを作成し､ PythonモジュールやPythonパッケージインデックスにある人気のあるサードパーティライブラリを使用することになります｡
しかし､ 私は個人的にPythonから持っているビルトインモジュールの中で気に入っている便利なモジュールを簡単なビデオで紹介したいと思います｡
また､ 本当に便利なモジュールの中には､ 実際にPythonでより多くのデータ型を持つことができるものもあります｡
Pythonのデータ型について説明し､ クラスについて､
そしてPythonで独自のデータ型やオブジェクトを作成する方法について学びました｡
しかし､ Pythonの標準ライブラリに組み込まれている特殊なデータ型もあり､ これは本当に素晴らしいものです｡
そして､ このことが､ 私たちのプログラムを本当に､ 本当に強力なものにするのです｡
今はどこでも見られるわけではないので専門的ですが､ 存在を知っておくのはいいことだと思います｡
そして､ 私のお気に入りをいくつか紹介します｡
最初に紹介するのは､ コレクションモジュールです｡
つまり､ コレクションモジュールは､ コレクションまたはコレクションからです｡
そして､ 私がとても気に入っていることが3つあります｡
そこで､ インポートと言って､ カウンタ､ デフォルト辞書､ そして順序付き辞書をインポートすることにします｡
大文字なので､ クラスがあることに注目してください｡
そして､ 中には機能だけにしか見えないものもあります｡
コレクション・モジュールについては､ ここをスクロールしてコレクションを見れば､ すべてのコレクションを見ることができます｡
そこで､ これらのコレクションでは､ まず最初の1枚をご紹介しましょう｡
カウンターは非常に便利です｡
例えば､ 1､ 2､ 3､ 4､ 5､ 6､ 7を含むリストがあり､ print counterを実行すると､ リストに含まれるアイテムの数を数えることができるとします｡
何をするものかは､ こちらでご覧いただけます｡
でも本来は､ リストを与えて実行をクリックすればいいんです｡
わかりました｡
ここで何が起こったのか？
1が1つ､ 2が1つ､ 3が1つという辞書を作るのです｡
ふむ｡
ここにもう7つ加えたらどうだろう｡
7としよう｡
実行をクリックすると
見たか？
セブンは今､ 2つ持っています｡
つまり､ イテレート可能な項目が何回発生したかを記録する辞書を作成するのです｡
その7が2回発生したわけです｡
だから､ 7は2の値を持つ｡
もう一つの使い方は､ 例えば文章があって､ その文章の中でI want to checkと言うことです｡
まあ､ 何か書いてみようか｡
ボソボソと言うよ｡
Pythonについて考える｡
ここでカウンターを行い､ Runをクリックすると文が表示されるとします｡
確認してみてください｡
なるほど､ どの文字が一番多く発生したのでしょうか｡
今回の場合､ hが5回､ spaceが5回､ そしてBが4回発生しました｡
そして､ これは本当に､ 本当にかっこいい｡
なぜなら､ このようにリストのような項目をハッシュマップや辞書と呼ばれるものに変換してカウントするような計算は､
実はプログラミングのあらゆるところで目にする非常に便利な機能だからです｡
実は､ 最適化問題にも大いに役立っているんですよ｡
重複したユーザーや重複したメールをカウントしたい場合､
このカウンターはとても便利なものであることをお伝えしたいと思います｡
カウンターは､ 本当に､ 本当に便利です｡
次の作品はどうですか？
デフォルト､ ディック
神様､ それは本当に難しい言葉です｡
さて､ ここに辞書があるとします｡ この辞書には､ まあ､ 非常に取るに足らない辞書ですが､
1とB2があります｡
なんてシンプルな辞書なんだろう｡
今､ ここで､ 辞書と言える｡
ドット
もしくはブラケットAで､ バリューを掴みます｡
そうですね｡
実行」をクリックすると
あ､ あと､ 辞書のスペルを間違えてませんでした｡
そうですね｡
それを解決しよう｡
そのほうがいい｡
これは必要ないので､ とりあえずコメントアウトしておこう｡
1の値が出るのがわかると思います｡
でも､ 存在しないものにアクセスしようとしたら､ みたいな｡
ほらね｡
デフォルトの辞書でエラーになる｡
実は､ 何かが存在しない場合､ デフォルト値を取得することにしているんです｡
そこで､ これをデフォルトの辞書に変換してみましょう｡
こんな感じ｡
そして今､ これを実行すると､ エラーが発生するのです｡
第一引数は callable か none でなければならない｡
つまり､ default dictは､ このようにキーにアクセスして､ デフォルトの値を与えることができるのです｡
この場合､ ここに呼び出し可能なオブジェクトのようなものを与える必要があります｡
また､ callableとは､ 呼び出すことができる関数という意味です｡
ゼロになるんです｡
それはなぜでしょうか？
さて､ intを実行すると｡
このように中身が何もない状態です｡
ゼロになるんです｡
つまり､ この関数が実行されるので､ 使わない関数を簡単に与えるという省略法があるのです｡
そこで､ ラムダをやって､ そのまま与えてしまいましょう｡
仮に5とする｡
では､ これを実行したら､ ここでディクショナリーをやってみましょう｡
走る｡
あ､ あと､ グラブに挑戦してみよう｡
存在しないもの｡
実行をクリックすると､ 5つ表示されます｡
よくあるパターンなんですね｡
デフォルトのディクショナリーでは､ 値や呼び出し可能なオブジェクトを与えるだけです｡
この例では､ 単に5を返すラムダ関数としてこの関数を与えています｡
だから､ ここで言うこともできるんです｡
存在しないのでしょうか｡
2番目のパラメータは､ 私たちが望むものである｡
そして､ もし私が走っていたら｡
存在しないキーにアクセスしているにもかかわらず､ doesn't existと表示される｡
さて､ ここで実行をクリックすると｡
すべてがうまくいく｡
今でも手に入ります｡
そして､ もし私がそうであったとしても
ランもそうかな｡
ここでもまた､ 便利な小さなデータ型が登場しました｡
次はオーダーディック､ これも面白いですね｡
そして､ 順序辞書は､ 辞書に挿入した順序を保持します｡
お見せしましょう｡
つまり､ 例えば辞書があったとして､ この辞書は注文辞書になります｡
だから､ こうやって作るんです｡
ここで､ dxをaに等しくすると｡
そして､ これは1に等しくなる｡
そして､ D｡
Beは2に等しくなる｡
そして今､ 私はこれをコピーして2つ目の辞書を作っています｡
にrdとしましょう｡
RDから
と確認する｡
ねえ､ プリントってDX2がDXになるんですか？
これは､ 値をチェックすることを忘れないでください｡
これを実行すると
私は真を得るか？
そう､ 彼らは平等なんだ｡
しかし､ ここで挿入の順番を変えて､ 実行をクリックすると
偽物が出る｡
すみません､ これは順番を維持するものなので､ 同じものではありません｡
これが普通の辞書だったら
そこで､ このような代わりに､ 単純に辞書を作成することにしましょう｡
ここでは単純に､ 例えば100個あるものを見てみましょう｡
そして､ こちらも同じようにしてください｡
DD2です｡
イコール､ これです｡
今､ これを実行すると｡
普通の辞書だとキーも値も全部同じだからtrueになるんだよ｡
私たちは特に気にしていません｡
順番がないんです｡
そして､ これは以前にも申し上げました｡
Pythonで辞書を書くには､ 順序の意味がない｡
キーをプリントアウトするときに､ 整理整頓ができるかもしれませんが｡
辞書がどんどん大きくなると､ すべてのキーをプリントアウトしたときに､ 順番通りに表示される保証はない｡
注文辞書の場合は､ その保証が得られますが｡
さて､ それらにはパフォーマンス上の意味があります｡
しかし､ 全体としては､ 状況によっては有効な手段であると言えます｡
わかりました｡
あと数本ですが､ この動画は長くなってしまいました｡
では､ 一旦休憩して､ また次の動画でお会いしましょう｡
バイバイ｡