ここまでで､ Pythonのパワーはモジュールについて話すときに発揮されることを学びましたが､
もっと重要なのは､ Pythonに付属する標準ライブラリについて話すとき､ それは言語を拡張し､
ランダムモジュールやCISモジュールなどのコードで使用できるように､ Pythonにインポートできる組み込みモジュールを持っている能力です｡
しかし､ Pythonの真のパワーは､ Pythonが今の時代､ どんな会社でも大きな役割を果たし､
Pythonが爆発的に普及した理由は､ この3番目の部分にあると私は主張します｡
それは､ あなたや私のような開発者が､ 独自のPythonファイルを作成する能力を持っているからです｡
何千､ 何百万､ 何兆ものPythonファイルを､ 実際にお互いに共有することで､ 自分のコード､ Pythonインタプリタとともにダウンロードする自分の標準ライブラリコードだけでなく､
インターネット上で他の人が共有しているすべてのコードを持つことができ､ 車輪の再発明を繰り返さないようにすることができるのです｡
もし誰かが本当に良いモジュールを書いて､ それが世界中の他のプロジェクトで使えるとしたら､ 彼らはそれを共有し､
私たちはそのモジュールをダウンロードして､ 自分のプロジェクトにインポートすることができます｡
だから､ NumPyやpandas､ TensorFlowといった本当に素晴らしいライブラリは､ 外部の開発者コミュニティ､
Pythonコミュニティではなく､ 一般的に､ あなたや私のような開発者やGoogleで働く開発者によって作られたライブラリなのです｡
南アフリカで活躍している開発者が､ フィジーで活躍することもあり得るのです｡
そんなことはどうでもいいんです｡
お互いのコードを使いまわせるようになった
そして､ PIP installコマンドを使って､ それができるようになりました｡
この後の数本のビデオでは､ Pythonの真の力をご覧いただけます｡ 私たちがいかに巨人の肩の上に立ち､
過去の失敗から学んで､ 常に車輪を再発明しないようにしているかを｡
ゲームを作るにしても､ ウェブサイトを作るにしても､ 絶対にゼロからコーディングする必要はないんです｡
これらの異なるパーツの断片､ モジュール､ ライブラリを使って組み合わせることで､ プロジェクトをより速く進め､
構築することができるのです｡
では､ どうすればいいのか｡
この世界の知識ベースをどのように活用すればいいのか｡
まあ､ そのためのウェブサイトもあるんですけどね｡
Python Package Index､ 略してBIと呼ばれるもので､ ご覧の通り､ pi pi dot orgです｡
そして今､ 182,000のプロジェクトがあります｡
このサイトでは､ 335,000人のユーザーがコードを共有しており､ それを使用することができます｡
Pythonのモジュールインデックスと違って､ たくさんあったんですが､ それだけなんです｡
これはもっとたくさんあります｡
例えば､ メールをやりたいとします｡
さて､ 私のコードでメールを送信するためのパッケージをすべて見てみましょう｡
例えば､ 画像の最適化をコードで行いたいとします｡
まあ､ 見てくださいよ｡
私ができる画像最適化のためのパッケージは､ すべてこれです｡
例えば､ ExcelファイルやCSVファイルを読みたいとしたらどうでしょう｡
まあ､ そのためのパッケージもあるんですけどね｡
そして､ その数は多い｡
必要なものはほとんどここで見つけることができるだろう｡
さて､ 良い習慣は､ まず､ ビルトインモジュールに何かがよく存在することを確認することです､ 多分､ pythonモジュールの標準ライブラリにすでにそれがあります｡
そうでなければ､ こちらに来てください｡
どのプロジェクトが良くて､ どのプロジェクトが悪いかを見極めるのが､ 本当に上手になりましたね｡
例えば､ ここをクリックすると､ プロジェクトの紹介を読むことができるんです｡
誰が手がけたかわかる｡
どんなライセンスを持っているのかがわかる｡
プログラミング言語Pythonのバージョンに対応しているのがわかる｡
でも､ リリース履歴を見れば､ この人は最近このプロジェクトに携わっているのかな？
このプロジェクトはあまり進展していないようですね｡
だから､ どのパッケージが良くて､ どのパッケージが悪いかを判断するのがすごくうまくなるんです｡
プロジェクトのトップページに移動することができます｡
私が普段やってみたいことは､ 例えばCSVファイルを読みたいとします｡
読めよと言いたい｡
CC Python 3と､ あとはビルトインモジュールがあるかどうかを確認するために､ ビルトインかもと言っています｡
そして､ こちらにもいくつかあるようです｡
Pythonの公式ドキュメントを読んでみると､ import csvとあるので､ こちらで確認することができます｡
ねえ､ CSVって実はビルトインモジュールなの？
ええ､ そのようです｡
なぜなら､ もしそれがビルトインモジュールなら､ Pythonのコミュニティはそれがうまく動作するように本当に一生懸命働いてきたと思います｡
その場合､ 私はちょうど戻って､ 多分ビルトインpyのapiの代わりに入力することになると思います｡
そして､ 今はこれを見ながら､ どれがいいかを考えるだけです｡
パッケージがたくさんあるので､ 結構いろいろなことができます｡
それがPythonの良さであり､ この巨大なコミュニティなのです｡
また､ Pythonだけではありません｡
JavaScriptのようにPIの代わりにuseやPMを使うコミュニティもあれば､ Rubyの開発者はRuby Gemsのようなものを使っていますよね｡
これがプログラマーの仕事です｡
他の人が使えるようにコードを共有し､ そのほとんどが完全に無料で使えるようになっています｡
コードで使っても気にならないので､ 本当に､ いい感じです｡
そのうえで､ 自分だけのパッケージを作ることもできます｡
もし､ あなたが本当に､ 本当に素晴らしいモジュールを書いて､ それを共有したいのであれば､ 自分のパッケージをPythonパッケージインデックスに公開することができますが､
この話はもう十分です｡
実際にこの力を使って､ サードパーティの開発者から何かをインストールし､ 私たちのプログラムで使用する方法を学びましょう｡
ところで､ これからいくつかの小さなパッケージをお見せしますが､ 10以上のプロジェクトを構築する最終プロジェクトでは､
これらをたくさん使うことになります｡
だから､ 講座の後半でいろいろと勉強することになるんです｡
だから心配しないでください｡ テキスト､ メール､ 読書､ PDF､ 画像のチェック､ 機械学習のエクセルなど､
本当にエキサイティングなものを取り上げるつもりです｡
では､ これからpip installの勉強を始めますので､ お付き合いください｡