강의

멘토링

컀뮀니티

BEST
Programming

/

Programming Language

Type Python! Correct class usage and object-oriented programming

Develop productively, robustly, securely, and scalably with Python! 🔥

(4.8) 63 reviews

1,060 learners

  • amamov
Python
oop

Reviews from Early Learners

What you will gain after the course

  • Principles of Object-Oriented Programming

  • Understanding Object Oriented Programming

  • In Python, everything is an object

  • How to do object-oriented programming with Python

  • Using Python Safely and Robustly with Typing

  • How to Apply Object-Oriented Programming in Deep Learning and Web Development

Write robust, secure Python code with object-oriented programming and typing.

Why Learn Object-Oriented Programming in Python ?

One. Easy to maintain!

In procedural programming, code modifications require searching and fixing each piece individually, making it easy to forget what needs to be changed. However, in object-oriented programming, the parts that need to be modified are modularized, making it easy to find and quickly modify the relevant module. This means easier maintenance. Furthermore, classes that are abstracted and encapsulated according to object-oriented programming principles can be easily imported and used by other developers without a deep understanding of the class's internal logic, and can be extended through inheritance.

Two. Productivity increases!

When implementing or researching deep learning, machine learning, or data science applications in Python, it's common to analyze the code's meaning and create comparative code by varying parameters and models. Writing this code in procedural programming can lead to disorganized code and reduced productivity. Rewriting this code in object-oriented programming, which closely approximates the semantics of actual research situations, can result in readable and highly productive code.

3. Commercial large-scale software development possible!

When developing web applications with Python, you'll likely use frameworks like Django, Flask, and FastAPI. In these cases, object-oriented programming (OOP) allows you to create robust software products for reason #1. For this reason, OOP is a widely used technique in the development of large, commercial software products that ensure stability. Therefore, if you're building an application with Python, OOP concepts are essential.

Learn object-oriented programming,
Robust, secure, and scalable development!

With Python object-oriented programming
From web development to data science, machine learning, and deep learning!

Microsoft Yammer(알뚞) 로고

Object-oriented programming boasts high productivity and stability!
Learn completely with Python .

Object-oriented programming is widely used in large-scale software development and development projects requiring high stability because it makes programs flexible and easy to modify. It also simplifies development and maintenance, and allows for more intuitive code analysis.

The combination of Python's intuitive development tools and object-oriented programming can bring both efficiency and intuitiveness to development.


This is good for people like me

Beginner to Object-Oriented Programming

The concept of OOP
Anyone who wants to know what it is

Type User

Safe and sturdy
Those who want to use Python

Those who find class grammar difficult

People who know conditional statements, functions, and variables, but don't know how to use classes

hands-on worker

Machine learning, web development, etc.
OOP in practice
Those who wish to apply

I've incorporated all four concepts below into my lectures 🧚

One. Understanding object-oriented programming.

Object-oriented programming is a coding technique that closely models the real world, increasing code reusability, maintainability, and productivity. Many excellent software products have been developed while adhering to object-oriented principles.

We'll teach you how to understand object-oriented programming and apply it in practice by creating a robot blueprint based on OOP principles. This process will help you write secure, scalable, and robust code. Furthermore, we'll show you how to apply these principles to meaningful development using real-world frameworks and libraries.

2. How to do object-oriented programming in Python.

Simply using classes isn't object-oriented programming. We'll teach you how to use classes while adhering to fundamental OOP principles. This begins with learning the basics of decorators. Then, you'll understand OOP principles—encapsulation, encapsulation, inheritance, polymorphism, and composition—by directly implementing them in code. Finally, you'll learn how to create and apply stacks and queues, two of the most fundamental data structures in computer science, using object-oriented programming.

3. How to type in untyped Python.

Developing with Python, with its simple, concise syntax and typeless syntax, allows you to accomplish more with less code, resulting in incredible productivity. However , when developing large-scale software with Python, its lack of typing can lead to increased code complexity, making maintenance and collaboration difficult. To address this, Python offers Type Hints. FastAPI , a rising web development framework, also recommends using Type Hints in development. We'll explore how to effectively use Type Hints. We'll also show you how to use the mypy and pyright packages to go beyond type hinting and perform type checking before actual code execution .

4. Refactoring deep learning code using object-oriented programming and analyzing Django code.

Beyond simply sharing knowledge, we'll demonstrate how what you've learned can be applied in real-world settings. First, we'll build on what you've learned by developing a Stack based on a linked list, the most fundamental data structure. We'll also demonstrate how object-oriented programming is applied in deep learning code used in academia and web development.

What's special about my lectures!

  • I won't just teach you class grammar.
    Beyond just teaching the syntax of classes, this course will also explain why object-oriented programming is necessary and how to do it, using a variety of case studies. In fact, the course will demonstrate the syntax with examples that require the use of classes. To apply what you've learned, we'll develop basic data structures based on object-oriented principles and demonstrate practical application examples.
  • This is a lecture that even C++ and Java users can easily listen to.
    Those who have previously learned object-oriented programming in other languages (such as C++ or Java) often find themselves overwhelmed when learning object-oriented programming syntax in Python. This is because, compared to C++ or Java, Python's syntax is largely based on implicit agreements between developers. While Python is also an object-oriented programming language, it possesses unique characteristics that set it apart from C++ and Java. This course will explain these characteristics and explain how they differ from existing languages. This course will serve as a guide for those who have learned object-oriented programming in Python from C++ or Java.
  • We reveal how to write various types of code.
    Python is a dynamically typed language. This allows for rapid development and high productivity, but without typing, maintenance becomes difficult and bugs are harder to debug. Therefore, Python officially introduced type hints. Many existing courses often only cover basic data types (int, float, str, etc.) and then move on. However, this alone makes it difficult to achieve robust typing. This course will cover a variety of types, including union types, optional types, and generic types, in addition to basic data types. This will help you write safe and robust Python code. Furthermore, we will cover more than just type hints; we will also cover type checking techniques.

Recommended for
these people

Who is this course right for?

  • For those who want to know what object-oriented programming is

  • How to do object-oriented programming correctly in Python

  • For those who want to use Python safely and robustly using typing

  • For those who are frustrated with Python's lack of types

  • People who know how to use loops, conditional statements, functions, and variables in Python but don't know how to use classes

  • Anyone who wants to apply object-oriented programming in machine learning, deep learning, data science, and web development

Need to know before starting?

  • Python introductory knowledge (variables, conditional statements, loops, functions)

Hello
This is

6,053

Learners

329

Reviews

365

Answers

4.8

Rating

4

Courses

안녕하섞요. ë” 유익하고 볞질적읞 지식 윘텐잠로 많은 가치륌 드멮 수 있도록 녞력하겠습니닀.

  • AI DT 전묞 개발사 (죌)하읎퍌읎지 대표읎사

  • M사 ꞈ융 AI 몚덞 개발 및 쎝ꎄ

  • (사)한국정볎통신넀튞워크협회 AI분곌Ʞ술위원

  • 前 P사 DT Simulation SW 개발 쎝ꎄ

  • 前 시늬슈 A 슀타튞업 Ʞ술 팀장

     

  • 前 대Ʞ업 소프튞웚얎 엔지니얎링 Ʞ술 용역 닀수

  • 前 소프튞웚얎 공학 옚/였프띌읞 교육 닀수 (슀타튞업, GS늬테음, 삌성 등)

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

Curriculum

All

40 lectures ∙ (5hr 43min)

Published: 
Last updated: 

Reviews

All

63 reviews

4.8

63 reviews

  • heais님의 프로필 읎믞지
    heais

    Reviews 3

    ∙

    Average Rating 5.0

    5

    100% enrolled

    Pythonオブゞェクト指向の基瀎郚分を再確立するこずが良かったし、タむプヒンティング郚分でもい぀ typing モゞュヌルの芁玠を䜿うず良いかに぀いおの説明をよくしおくれお無事に最埌たで孊習完了できたようです。 珟圚のずころ、Pythonが3.11 versionたで出おきた状況なのに、講矩ず公匏文曞を䞊行しながら勉匷しおみるず、今はあえお typing モゞュヌルをむンポヌトせずに組み蟌みオブゞェクトを利甚しお list[str], tuple[int] のように衚珟するずか、Union、Optional型のような堎合にはint|Noneのようにquot;|"を䜿っお凊理する方法が远加されたもの同じです。時間になればこんな郚分に぀いおも付加的に教えおいただければ幞いです。良い講矩ありがずうございたす。 :)

    • human2642622님의 프로필 읎믞지
      human2642622

      Reviews 66

      ∙

      Average Rating 5.0

      5

      100% enrolled

      abcでPythonでむンタヌフェヌスを扱うのも扱えば良かったず思いたす。

      • baeyhee2577님의 프로필 읎믞지
        baeyhee2577

        Reviews 1

        ∙

        Average Rating 5.0

        5

        100% enrolled

        以前たで倧䜓知っおいた郚分をよく敎理するこずになっおもいいです。 Pythonでタむピングする方法も知っおもいいですね。 最埌にボヌナス講座で盎接実装しおみるずもっず良かったず思いたす。 ボヌナス講座 もう少し豊かにすれば、3倍高いのもコスパ講矩だったず思いたす。

        • amamov
          Instructor

          こんにちは Will Bae :) リニュヌアル時にフィヌドバックを反映したす ありがずうございたす

      • clasicboy1231332님의 프로필 읎믞지
        clasicboy1231332

        Reviews 3

        ∙

        Average Rating 5.0

        5

        100% enrolled

        すでにPythonで開発をしおいる人ですが、狂っお知らずに䜿っおいた郚分をもう少し詳しく知るこずができたようです。基本基が固たっおいるようで気持ちいいですね。ありがずうございたす。

        • namhw4174895님의 프로필 읎믞지
          namhw4174895

          Reviews 38

          ∙

          Average Rating 4.9

          5

          100% enrolled

          良い講矩ありがずうございたす。

          $36.30

          amamov's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!