Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Pythonオブジェクト指向プログラミング入門。難解なオブジェクト指向の概念をアプリを開発しながら徹底解説。
Highest Rated
Rating: 4.2 out of 5(106 ratings)
1,358 students

Pythonオブジェクト指向プログラミング入門。難解なオブジェクト指向の概念をアプリを開発しながら徹底解説。

基礎文法を学んだあと何をしたらいいの? もっとキレイにコードを書きたい? ゲームを作りながら楽しくオブジェクト指向プログラミングを学びましょう。基礎的なクラスの文法、デコレータ、インナークラスを組み合わせクリーンコードで実装する方法を習得。
Last updated 3/2026
Japanese
Japanese

What you'll learn

  • オブジェクト指向でプログラムを実装する方法
  • 役割ごとにモジュールとクラスを定義し、コードを整理整頓する方法
  • クラス内クラス(インナークラス)を使ってコードを整理整頓する方法
  • オブジェクト指向の概念や考え方
  • オブジェクト指向でターミナルで遊べるゲーム開発の手法
  • ChatGPTにコードレビューしてもらってコードを磨き上げる方法
  • 列挙型クラス(Enum)の定義と使い方
  • クラスを継承し、メソッドをオーバーライドする方法
  • デコレータ classmethod, abstractmethod, propertyの使い方
  • ターミナルの文字の色を変えたりアスキーアートを表示させたりして表現豊かにゲームを作る方法
  • 任意のタイミングでターミナルに表示される文字列をクリアし、UXを向上させる方法
  • 複数のクラス、インスタンスを強調させてアプリケーションを実装する方法
  • ランダムな結果になってしまうゲームを効率よくテストするための方法 (ユニットテストではありませんのでご注意ください)

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

15 sections96 lectures5h 58m total length
  • このコースで作るゲーム5:54
  • ごあいさつ0:49
  • このコースの資料0:26

Requirements

  • ハンズオン(実際に手を動かしながらコードを記述する)でレクチャーを進めます。途中経過のコードをダウンロードできるようにしておりません。ご注意願います。(完成版コードはダウンロード可)
  • Pythonの基礎文法を理解している方 (変数・データ構造・条件分岐・反復処理・デコレータの概念・例外処理・ファイル入出力などの基礎文法の解説は行いません)
  • Pythonが実行できる環境 (本コースでは環境構築は扱いません)
  • Pythonのクラスの文法を知っている方 (クラス定義、インスタンス化など)
  • Pythonプログラミング経験者を対象にしていますので、進行が速い、と感じる可能性があります。ご注意ください。
  • ターミナルでPythonプログラムを実行できる方
  • レクチャーはPyCharmで行っています
  • Python3.10以降を使用します。

Description

  • 基礎文法を学んだけど、次どうしたらいいの?

  • もっとキレイなコードが書きたい

  • 自分が書いたコードでも修正するとき解読するところから始めている

  • オブジェクト指向プログラミングは身につけるべき、と聞いた

こんな方のためのコースです。


自分が書いたコードがいつでも整理され、キレイに保たれ、バグが生じにくかったらどうでしょうか?

オブジェクト指向プログラミング (OOP) はそれを実現するための技術・フレームワークです。


ビルを作る場面では地面を深く掘って基礎を固め、震度7でも倒壊しない堅牢な材質・構造にしますよね。

プログラミングでも同じです。

規模の大きなプログラムを作ろうと思ったら必ず使われるもの。それがオブジェクト指向プログラミングです。


難しそうですか?

大丈夫。必要なのはPython基礎文法の知識だけです。


クラスの文法に自信がない?

大丈夫。クラス定義の基礎文法、デコレータの取り扱い方を復習するセクションがあります。



準備はいいですか? 楽しくゲームを開発しながらオブジェクト指向プログラミング学びましょう。

扱うテーマは「じゃんけん」と「ブラックジャック」です。

ゲーム開発が題材ですが「課題をOOPで整理整頓する」というフレームワークは実務でも役立ちます。


じゃんけんゲームはOOP入門に最適です。OOPは課題を整理し、役割ごとのクラス設計が需要ですが、じゃんけんは役割が明確でルールも単純。

まずはクラスを使わず関数のみで実装し、ゲームを完成させます。次に完成したゲームをOOPに沿ってリファクタリングします。

この過程であなたはオブジェクト指向プログラミングの利点が理解できるようになります。


じゃんけんゲームではこんなことを学びます。

  • オブジェクト指向は「現実世界の営み」をコードで表現する概念または技術の1つ、という考え方

  • クラスとインスタンスの違い

  • クラスを使わないパターンからつくり始め、徐々にクラスを使った実装にリファクタリングする方法

  • 役割ごとにモジュールとクラスに整理整頓する方法

  • 継承とオーバーライドを使ってクラスを作る方法

  • 複数のインスタンスを協調して稼働させる方法

  • デコレータ`classmethod`の使い方

  • デコレータ`abstractmethod`を使ってメソッドの実装を強制する方法

  • ターミナルにアスキーアートを表示させて表現力を豊かにする方法



次はブラックジャックです。これはトランプを使ったゲームですね。じゃんけんと比べるとルールは複雑です。

じゃんけんで基礎を身につけたあとは複雑な課題を整理・解決する応用力を身につけましょう。


ブラックジャックではこんなことを学びます。

  • キャッシュを使ってアスキーアートを表示する方法 (ファイルIO(インプットアウトプット)は負荷が高いのでキャッシュという概念を学ぶ)

  • デコレータ`property`を使ってメソッドをプロパティのように参照する方法、プロパティ代入時に所定の処理を挟む方法

  • 列挙型クラス(Enum)を使って関連する値をまとめる方法

  • クラス内のクラス(インナークラス)を使って整理する方法

  • ターミナルで文字に色を付ける方法

  • ターミナルをクリアして見やすくする方法

  • アスキーアート雛形に所定の文字を流し込む方法


オブジェクト指向プログラミングを身に付ければあなたの技術力は一段高い次元に上がります。


自分が書いたコードがいつでも整理され、キレイに保たれていたらどうでしょうか?

さあ。一緒にオブジェクト指向プログラミングを学びましょう。

Who this course is for:

  • 基礎文法を学んだけどそれをどう応用していいのかよくわからない方
  • クラスの文法はなんとなく分かるけど、これを使ってどう活かせばいいのかよく分からない
  • オブジェクト指向が大事、と聞いたことがあるけどイマイチ ピンとこない
  • 新入社員から中堅社員