Type Python! Correct class usage and object-oriented programming

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

(4.8) 수강평 66개

강의소개.상단개요.수강생.short

난이도 초급

수강기한 무제한

Python
Python
oop
oop
Python
Python
oop
oop

먼저 경험한 수강생들의 후기

먼저 경험한 수강생들의 후기

4.8

5.0

정해온

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. :)

5.0

정호연

100% 수강 후 작성

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

5.0

­Will Bae

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.

강의상세_배울수있는것_타이틀

  • 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.

강의소개.콘텐츠.추천문구

학습 대상은 누구일까요?

  • 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

선수 지식, 필요할까요?

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

강의소개.지공자소개

6,201

수강생

350

수강평

368

답변

4.8

강의 평점

4

강의_other

Hello. I will strive to provide great value through more informative and essential knowledge content.

  • CEO of Hypereasy Co., Ltd., an AI DT specialized development company

  • Development and management of financial AI models for Company M

  • AI Subcommittee Technical Committee Member of the Korea Information and Communication Network Association (KINA)

  • Former Head of DT Simulation SW Development at Company P

  • Former Tech Lead at a Series A startup

  • Former lead on numerous software engineering technical consulting projects for major corporations

  • Former instructor for numerous software engineering online/offline training programs (Startups, GS Retail, Samsung, etc.)

Inquiries, additional questions, writing, and lecture proposals ==> endupfree@gmail.com

더보기

커리큘럼

전체

40개 ∙ (강의상세_런타임_시간 강의상세_런타임_분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

66개

4.8

66개의 수강평

  • human2642622님의 프로필 이미지
    human2642622

    수강평 73

    평균 평점 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!

    • heais님의 프로필 이미지
      heais

      수강평 4

      평균 평점 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. :)

      • 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.

          amamov님의 다른 강의

          지식공유자님의 다른 강의를 만나보세요!

          비슷한 강의

          같은 분야의 다른 강의를 만나보세요!

          강의상세.할인문구

          $26.40

          27%

          $36.30