Pythonではすべてがオブジェクトです｡
これから数回のビデオで､ opやオブジェクト指向プログラミングという考え方について､ それが何なのか､
何の役に立つのか､ そしてなぜそれが優れた開発者になるために重要なトピックなのかをお話しします｡
さて､ Pythonではすべてがオブジェクトであると言いますが､ これはどういう意味でしょうか｡
さて､ これまでお話ししてきたデータ型を思い出してください｡
ここで実行をクリックすると､ すべてのデータ型が表示されますが､ その前にこのクラスキーワードがあります｡
そして､ これは前回も申し上げましたが､ これからが本番です｡
さて､ ここにあるものはすべてオブジェクトです｡ Pythonでは､ すべてがこのclassキーワードによって構築されるからです｡
そして､ このようにオブジェクトに対してさまざまなメソッドを使用して､ 何らかのアクションを実行することができるのです｡
では､ オブジェクトとは何でしょうか｡
オブジェクトにはこのようなメソッドがあり､ DOTメソッドでアクセスできる属性があります｡
さて､ オブジェクト指向プログラミングでは､ Pythonが提供するこれらのデータ型を超えることができます｡
でも､ 自分たちで作って､ Pythonをもっと強力にすることができたら､ すごいと思いませんか？
そして､ オブジェクト指向のプログラミングを使うこと｡
そして､ classキーワードを学びながら､ こちらのリストが独自のカスタムオブジェクトに成長するように､
まさにそれができるようになります｡
さて､ これから数回のビデオで､ オブジェクト指向プログラミングについて､ オブジェクトとは何か､
クラスとは何かということを探っていきたいと思います｡
しかし､ 重要なのは､ さまざまな属性やメソッドを持つ独自の型､ 独自のデータ型を作ることができることです｡
さて､ なぜこれが便利なのでしょうか｡
例を見てみましょう｡
例えば､ アマゾンで働くとします｡
アマゾンは最近､ 宅配ドローンを導入し､ お客様の荷物をより早くお届けすることにしました｡
でも､ このドローンをコーディングする必要がありますよね？
そして､ ここまでは､ 基本的な関数や条件ロジック､ そしてドットπファイルにコードを書くだけでそれができることを学んできました｡
しかし､ 問題は､ コードがどんどん大きくなっていくことです｡
1つのファイルだけではありません｡
10行のコードだけではありません｡
何百､ 何千､ 何百万行のコードが異なるファイルに分割されることになる｡
テクノロジーが至る所にある世界ですから､ コードはどんどん複雑になっていきますし､ ドローンのようなもののプログラミングは､
特に配達用のドローンだとかなり複雑です｡
では､ このコードをより管理しやすくするために､ オブジェクト指向プログラミングをどのように使えばよいのだろうか｡
まあ､ OPはいわゆるパラダイムなんですけどね｡
つまり､ 私たちがコードについて考え､ 保守や拡張､ 執筆がしやすいようにコードを構造化するための方法なのです｡
例えば､ ドローン配送のプログラムを書くとしたら､ それを細かく分割して､ 実世界を表す小さなオブジェクトにします｡
例えば､ ドローンを飛ばすためのプロペラというオブジェクトを､ 自分自身のデータ型としてコーディングすることがあります｡
また､ 別の開発者がドローンのカメラやビジョンの部分を担当することもあるでしょう｡
別の開発者が､ パッケージを保持する節を作ることができるかもしれません｡
さらに､ 別の開発者が信号処理を担当し､ ドローンから信号を送って､ たとえばアマゾン本社にドローンがどこにいるのかを把握できるようにするかもしれません｡
ここでやっているのは､ 機能やデータを､ 現実世界をモデル化した別々のオブジェクトに分割することで､
異なる人が異なる部分を作業できるようにし､ 後でそれらを組み合わせればいいということです｡
そして､ 美点は､ 例えば､ 今度はドローンではない配送システムを作りたいと思ったときです｡
まあ､ 戦車みたいな配達ロボットですね｡
カメラや爪､ 信号機などは同じものを使えますが､ プロペラの代わりに､
例えば戦車が使うようなトラックを取り外せばいいのです｡
そして､ この部分のコーディングは誰かがやってくれるでしょう｡
しかし､ 私たちは異なる部品を使い､ ドローンの機能を異なるオブジェクトに拡張することができます｡
さて､ それでも100％理解できなくても､ 心配は無用です｡
これから数回のビデオで､ このことを何度も繰り返していきます｡
つまり､ OPはパラダイムであり､ コードについて考える方法であり､ コードがどんどん大きくなっても､
10行の馬鹿げたコードを書かずに済むように､ コードを構造化する方法なのです｡
私たちは何百万行ものコードを書いているのです｡
Netflixのような企業では､ 何千人もの開発者が毎日コードを書いています｡
このコードを構造化して整理し､ 完全なカオスや完全なスパゲッティコードにならないようにする方法が必要なのです｡
一息ついて､ oについてもっと勉強しましょう｡ Pを次の動画で紹介します｡