강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Programming Language

タイプPython!正しいクラスの使い方とオブジェクト指向プログラミング

Pythonで生産性の高い開発だけでなく、堅牢で安全でスケーラブルな開発をしましょう! 🔥

  • amamov
Python
oop

学習した受講者のレビュー

こんなことが学べます

  • オブジェクト指向プログラミングの原則

  • オブジェクト指向プログラミングの理解

  • Pythonではすべてがオブジェクトです

  • Pythonでオブジェクト指向プログラミングをする方法

  • typingを使用して安全かつ堅牢にPythonを使用する

  • ディープラーニング、Web開発でオブジェクト指向プログラミングを適用する方法

オブジェクト指向プログラミングとタイピングで堅牢で安全なPythonコードを書く

Pythonでオブジェクト指向プログラミング、なぜ学ぶべきなのか

一つ。メンテナンスが簡単!

プロシージャ指向プログラミングでは、コード修正時に一つ一つ探して修正しなければならず、修正する部分を忘れやすくなりますが、オブジェクト指向プログラミングでは修正すべき部分がモジュール化されているので、そのモジュールを見つけて簡単かつ迅速に修正が可能です。つまりメンテナンスが簡単だということです。また、オブジェクト指向プログラミングの原則に基づいて抽象化、カプセル化されたクラスは、他の開発者がそのクラス内部ロジックを深く理解することなく簡単にインポートして使用でき、継承を通じて拡張して使用できます。

両方。生産性が高まる!

Pythonでディープラーニング、マシンラーニング、データサイエンスアプリケーションを実装または研究するときは、コードの意味分析とパリメーターとモデルを変えながら対照コードを書くことがよくあります。このとき、そのコードを手続き指向プログラミングで書くと、コードの整理ができず、生産性が低下します。これらのコードを実際の研究状況に意味的に近いオブジェクト指向プログラミングで書くことで、読みやすく生産性の高いコードで書くことができます。

三。商用大型ソフトウェア開発可能!

PythonでWebを開発するときは、django、flask、fastapiなどのフレームワークを使用します。この場合、1つの理由でオブジェクト指向プログラミングを適用して堅牢なソフトウェア製品を作成できます。このため、オブジェクト指向プログラミングは、安定性を保証する商業用の大規模ソフトウェア製品を開発する際に非常によく使われる手法です。したがって、Pythonを介して単一のアプリケーションを作成する場合は、オブジェクト指向プログラミングの概念が不可欠です。

オブジェクト指向プログラミングを学び、
頑丈で安全でスケーラブルな開発を!

Pythonオブジェクト指向プログラミングによる
Web開発、データサイエンス、機械学習、ディープラーニング活用まで!

Microsoft Yammer(야머) 로고

高い生産性と安定性を誇るオブジェクト指向プログラミング!
Pythonで完全に学びましょう。

オブジェクト指向プログラミングは、プログラムを柔軟かつ変更しやすくするため、大規模なソフトウェア開発や安定性が要求される開発に多用されています。さらに、開発と保守が簡単で、より直感的なコード分析を可能にする利点があります。

Pythonという直感的な開発ツールとオブジェクト指向プログラミングの組み合わせは、開発の効率性と直感性の両方をもたらすことができます。


こんな方が聞くといいですね

オブジェクト指向プログラミング入門者

OOPの概念
何か知りたい方

タイプユーザー

安全でしっかり
Pythonを活用したい人

class文法が難しい方

条件文、関数、変数はわかりますが、クラスを使用できない分

実務者

機械学習、ウェブ開発など
OOPを実務に
適用したい方

以下の4つの概念を講義にすべて溶かしました🧨

一つ。オブジェクト指向プログラミングの理解。

オブジェクト指向プログラミングとは、実際の世界に近づけてモデル化し、コードの再利用性、メンテナンス優秀性、生産性を増大させるコーディング技術です。実際に優れたソフトウェア製品がオブジェクト指向を守りつつ作られてきました。

オブジェクト指向プログラミングとは何かを理解し、OOPの原則に従ってRobotの設計図を作成しながら、実際に適用する方法を教えてくれます。これにより、安全でスケーラブルで堅牢なコードを書くことができます。それだけでなく、実際のフレームワークやライブラリを使って意味のあるものを開発する際にどのように適用されるかを示します。

両方。 Pythonでオブジェクト指向プログラミングをする方法

単にクラスだけを使用するのはオブジェクト指向プログラミングではありません。 OOPの基本原則を守り、クラスの使い方を教えてくれます。そのためには、基本的なデコレータの使い方を学ぶことから始めます。そしてOOP原則であるカプセル化、隠蔽化、継承、多型性、コンポジションなど一つ一つ直接コードで一緒に打ちながら理解することになります。最後に、コンピュータ工学の最も基本となるデータ構造であるStackとQueueをオブジェクト指向プログラミングを使って作ってみながら、実際の適用まですることができます。

三。タイプのないPythonで typing を行う方法。

簡単で簡潔な文法と型付けのないPythonで開発する場合、より少ないコードでより多くの作業を行うことができ、おかげで膨大な生産力を誇ります。しかし、タイピングのないPythonで大規模なソフトウェアを開発するときは、コードの複雑さが上がり、メンテナンスが難しくなり、コラボレーションが難しくなります。そのために、PythonはType Hintを提供し始めました。すでに浮上しているWeb開発フレームワークであるFastAPIもType Hintを使用して開発することをお勧めします。 Type Hintを効果的に使用する方法を学びます。また、mypyとpyrightパッケージを介して型ヒントを超えて実際のコードを実行する前に型を調べる方法を教えてくれます。

ネット。オブジェクト指向プログラミングによるディープラーニングコードのリファクタリング、Djangoコード解析

知識の共有にとどまらず、学んだことが実際にどのように適用されるかをお知らせします。まず学んだことをもとに、最も基礎となる資料構造であるLinked List基盤のStackを直接開発してみます。そして、実際の学術界で使われるディープラーニングコードと、Web開発でオブジェクト指向プログラミングがどのように適用されるかをお知らせします。

私の講義だけの特別なポイント!

  • class文法だけをお知らせしません。
    クラスの文法を教えてくれるだけでなく、なぜオブジェクト指向プログラミングをするのか、どのようにすべきかをさまざまな事例を挙げて説明します。実際に講義ではクラスを必ず使用しなければならない例を持って文法を説明し、学んだことを活用するために基礎資料構造をオブジェクト指向の原則に従って開発し、実使用の事例をお見せする予定です。
  • C++、Javaユーザーも簡単に聞くことができる講義です。
    従来、他の言語(C++、Javaなど)でオブジェクト指向プログラミングを学んだ方が、pythonでオブジェクト指向プログラミング文法を身につけるときに戸惑うことがよくあります。理由はC++、Javaに比べてPythonでは開発者間の暗黙的な約束で書く文法が多いからです。 Pythonもオブジェクト指向プログラミング言語ですが、C ++、Javaとは異なり、Pythonだけの特徴があります。この機能を説明し、既存の言語との違いを説明します。これにより、C++、Javaで学んだ方がPythonでオブジェクト指向プログラミングをする際のガイドとなる講座です。
  • 様々なTypeのコードの書き方を公開します。
    Pythonは動的型言語です。おかげで、速い開発速度と高い生産性を誇りますが、タイピングをしないとメンテナンスが難しくなり、バグが生じたときにデバッグが難しくなります。したがって、正式にPythonではタイプヒントを導入しました。既存の多くの講座では、タイプヒントについて基本的な資料(int、float、strなど)でのみ言及して進むことが多いです。しかし、これではしっかりとタイピングをするのは難しいです。このコースでは、基本データ型だけでなく、Union Type、Optianal Type、Generic Typeなど、さまざまなタイプをお知らせします。これにより、Pythonでコードを書くときに安全でしっかりと書くことができます。また、単にタイプヒントにとどまらず、Typeをチェックする方法までお知らせする予定です。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • オブジェクト指向プログラミングとは何か知りたい方

  • Pythonで正しくオブジェクト指向プログラミングを行う方法

  • typingを使って安全でしっかりとPythonを使いたい人

  • タイプのないPythonが苦しい人

  • Pythonで繰り返し文、条件文、関数、変数はわかりますが、クラスを使用できない分

  • 機械学習、ディープラーニング、データサイエンス、Web開発でオブジェクト指向プログラミングを適用したい方

前提知識、
必要でしょうか?

  • pythonの入門知識(変数、条件文、反復文、関数)

こんにちは
です。

5,294

受講生

270

受講レビュー

336

回答

4.7

講座評価

3

講座

안녕하세요.  IT 지식 크리에이터, 윤상석입니다. 🎩 
더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.

- (주)하이퍼이지 대표이사
- (사)한국정보통신네트워크협회 AI분과기술위원
- (주)블루밴드 기술이사
- 前 (주)마로마브 웹 개발자
- 前 소프트웨어 엔지니어 기술 용역 (카카오, 포스코DX, )
- 前 소프트웨어 공학 온/오프라인 교육 다수 (스타트업, GS리테일, 삼성 등)

문의사항, 추가질문, 집필, 강의제안 ==> EndUpFree@gmail.com

カリキュラム

全体

40件 ∙ (5時間 43分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

61件

4.8

61件の受講レビュー

  • heais님의 프로필 이미지
    heais

    受講レビュー 3

    平均評価 5.0

    5

    100% 受講後に作成

    It was good to re-establish the basics of Python object orientation, and I think I was able to complete the study safely because the type hinting part explained well about when it would be good to use elements in the typing module. As of now, Python has been released up to version 3.11, and while studying while reading the lecture and official documentation, I think that now, instead of importing the typing module, you can use built-in objects to express things like list[str], tuple[int], and in the case of Union and Optional types, you can use "|" like int|None. If you have time, it would be good if you could tell me more about these things. Thank you for the great lecture. :)

    • human2642622님의 프로필 이미지
      human2642622

      受講レビュー 56

      平均評価 5.0

      5

      100% 受講後に作成

      I think it would have been better if handling interfaces in Python had been covered with abc.

      • baeyhee2577님의 프로필 이미지
        baeyhee2577

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        It's good that I've organized the parts I roughly knew before. It's also good that I learned how to type in Python. I think it was even better when I implemented it myself in the bonus lecture at the end. If the bonus lecture had been a bit more plentiful, it would have been a cost-effective lecture even if it was 3 times more expensive.

        • amamov
          知識共有者

          Hello! Will Bae :) We will reflect your feedback when renewing! Thank you!

      • clasicboy1231332님의 프로필 이미지
        clasicboy1231332

        受講レビュー 3

        平均評価 5.0

        5

        100% 受講後に作成

        I'm already a developer using Python, but I think I was able to learn more about the parts I didn't know about and used. I feel proud because I feel like I've laid the groundwork. Thank you.

        • namhw4174895님의 프로필 이미지
          namhw4174895

          受講レビュー 38

          平均評価 4.9

          5

          100% 受講後に作成

          Thank you for the great lecture.

          ¥5,522

          amamovの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!