Python OOP – Object Oriented Programming for Beginners

Python OOP – Object Oriented Programming for Beginners

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 261 lectures (16h 28m) | 3.79 GB

Learn Object Oriented Programming in Python with Step-by-Step Video Lectures, Projects, Exercises, Diagrams and More.

Learn Object Oriented Programming (OOP) in Python with mini projects, hands-on practice, and carefully designed visual explanations. Understand how the elements and abstract concepts of OOP work behind the scenes. Apply your knowledge to new scenarios.

Object Oriented Programming is Your Next Step Into the In-demand and Powerful World of Python

  • Create and work with classes and instances to write Python programs.
  • Understand how they work behind the scenes.
  • Learn when to use instance attributes vs. class attributes.
  • Implement and call methods. Understand their purpose.
  • Take advantage of the power of inheritance to avoid code repetition.
  • Use key concepts like Docstrings and Special methods in your programs.

Add New Python Skills To Your Resume

Python is currently one of the most popular programming languages and its popularity continues rising every year. It is used for real-world applications in diverse areas such as Data Science, Game Development, Web Development, Machine Learning, Artificial Intelligence, and many more. Learning Object Oriented Programming in Python is your next step into the powerful world of computer science.

Object Oriented Programming is key if you wish to expand your computer science skills and create maintainable and scalable programs. You will need to learn these concepts to implement data structures like trees, graphs, and linked lists. It’s also key for game development, GUI programming, artificial intelligence, and many other areas. The concepts and techniques that you will learn in this course are easily transferable to other programming languages like Java, JavaScript, and many more.

With high-quality video lectures that include graphics and animations, you will learn and work with these concepts:

  • Classes
  • Instances
  • Instance Attributes
  • Class Attributes
  • Methods
  • The ‘self’ parameter
  • Inheritance
  • Docstrings
  • Special Methods
  • …. and more!

You will build a Tic-Tac-Toe game and a text-based version of the War Card Game following the principles of Object Oriented Programming.

What you’ll learn

  • The principles of Object Oriented Programming (OOP) using Python.
  • How the elements of Object Oriented Programming work behind the scenes.
  • Understand how classes work and how you can create instances from classes.
  • Implement and call methods. Understand their purpose within classes.
  • Define instance attributes and class attributes. Learn their differences.
  • Use ‘self’ to refer to instances. Learn how it works behind the scenes.
  • Work with inheritance to reuse code, improve design, and avoid repetition.
  • Practice key aspects of OOP such as Docstrings and Special Methods.
Table of Contents

Welcome to the Course Python OOP Object Oriented Programming for Beginners
Welcome to the Course Important Course Information
Introduce Yourself and Share your Goals
Downloadable Resources

Introduction to Object Oriented Programming OOP and Key Concepts
Introduction to ObjectOriented Programming in Python
Welcome to this Section Introduction to Object Oriented Programming OOP
What is ObjectOriented Programming OOP
Advantages of Object Oriented Programming
Important Terminology and PDF Glossary
Collect Your Badge and Share your Experience

Classes The Blueprints of Object Oriented Programming OOP
Classes Concept & Analysis
Introduction to Classes Python Syntax
Welcome to this Section Introduction to Classes
Section Resources
Introduction to Classes The Building Blocks of OOP
Class Naming Conventions
How to Identify Classes in a Problem Description
Classes in Python Initial Syntax
Use of object in Python 3 and Python 2
Example Identify Classes in a Problem Description
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Instances and Instance Attributes Use your Classes to Create Instances
Create an Instance
Instances and Instance Attributes Concept
Instances & Instance Attributes Syntax
Create instances
How to Access Instance Attributes
Default Arguments
How to ModifyUpdate Instance Attributes
Welcome to this Section Instances and Instance Attributes
Section Resources
Introduction to Instances and Instance Attributes
Instance Attributes and init
init Common Mistakes
Formal Parameters PEP 8 Style Guide
Introduction to self
Coding Session Define Instance Attributes
How to Create Instances
Why Do We Skip Self When We Create an Instance
What is None
How to Access Instance Attributes
Coding Session Access Instance Attributes
Default Arguments
Default Arguments PEP 8 Style Guide
How to ModifyUpdate Instance Attributes
Coding Session ModifyUpdate Instance Attributes
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Class Attributes Define Attributes Shared Across Instances
Define Class Attributes
Access Class Attributes
Modify Class Attributes
Class Attributes Theory
Class Attributes Syntax
How to Access Class Attributes
How to Modify Class Attributes
Welcome to this Section Class Attributes
Section Resources
Introduction to Class Attributes
Class Attributes vs Instance Attributes
How to Define Class Attributes
Coding Session Define Class Attributes
How to Access Class Attributes
Coding Session Access Class Attributes
How to Modify Class Attributes
Coding Session Modify Class Attributes
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Encapsulation and Abstraction Key Principles of ObjectOriented Programming
Encapsulation and Abstraction
Public vs NonPublic Attributes
Name Mangling
Welcome Encapsulation and Abstraction
Section Resources
Introduction to Encapsulation
Introduction to Abstraction
Public vs Non
Coding Session 1 Public vs Non
Coding Session 2 Public vs Non
Python Documentation Helpful Link
Access Modifiers in other Programming Languages
Name Mangling
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Properties Getters and Setters in Python Learn to use property
Getters and Setters
Properties Initial Syntax
Properties property
Welcome to this Section Properties Getters and Setters
Quick Tip How to Leave or Update Your Review
Section Resources
Introduction to Getters
Introduction to Setters
Coding Session 1 Getters and Setters
Coding Session 2 Getters and Setters
How to use Properties The Pythonic Way
Coding Session Properties
The property Decorator
What is a decorator
Coding Session Using property
property The Three Methods
Note on the Use of Getters Setters and Properties
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Methods Add Functionality to your Classes
Call a Method
Define and Call a Method
Methods Concept and Syntax
How to Call a Method
Welcome to this Section Methods
Section Resources
Introduction to Methods in Python
Coding Session Methods
Methods PEP 8 Style Guide
How to Call a Method
Coding Session How to Call a Method
Alternative Syntax to Call a Method
NonPublic Methods and Name Mangling
Default Arguments
Coding Session Default Arguments
How to Call a Method from Another Method
Coding Session How to Call a Method from Another Method
Methods and Return Statements
Method Chaining
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Project Build a War Card Game using OOP
The Player Class Human and Computer Players
The Game Class Part 1 Initial Game Setup and Attributes
The Game Class Part 2 Start the Battle
The Game Class Part 3 Its a Tie Lets start the War
The Game Class Part 4 Check Game Over Print Statistics Welcome Player
Final Phase Lets Complete and Run the Game
Challenge Less than Three Cards
Project Resources
Collect Your Badge and Share your Experience
Welcome to this Project Build a War Card Game
Project Requirements
The Suit Class
The Card Class Lets Add Cards to the Game
The Deck Class Lets Make a Deck

Objects in Memory Learn How Objects Work Behind the Scenes
Welcome to this Section Objects in Memory
Section Resources
Python Objects in Memory
Object vs Instance
Builtin Objects in Python and their Methods
The id Function in Python
Coding Session the id function
Introduction to the is Operator
Comparing Objects of UserDefined Classes with
Coding Session The is operator
The is operator Unexpected Results
Different Behavior Shell vs Script
Working with objects
Try it Check that objects are passed by Reference
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
The id function
The is operator

Aliasing Mutation and Cloning
Welcome to this Section Aliasing Mutation Cloning
Section Resources
Introduction to Aliasing
Coding Session Aliasing
Introduction to Mutability and Immutability
Advantages and Disadvantages of Mutable and Immutable Data Types
Coding Session Mutability and Immutability
Be Careful Builtin Methods can Mutate Objects
Common Bug Be Careful with Mutable Data Types as Default Arguments
Important Tip Immutable doesnt mean that its elements are immutable
Introduction to Cloning
Shallow vs Deep Copy of an Object
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
Aliasing
Mutability
Cloning

Project Build a TicTacToe Game with OOP
Welcome to TicTacToe Game Preview
The Move Class
Testing the Move Class
The Player Class Attributes Properties and Get Move
The Player Class Get Random Computer Move
Testing the Player Class
The Board Class Create and Print the Board
The Board Class Submit Move
The Board Class Check if the Player Won the Game
Testing Check Game Over
Check Tie and Reset Board
Testing Check Tie and Reset Board
Tic
Playing and Testing our Tic
TicTacToe Game Code
What is ObjectOriented Analysis and Design
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience

Inheritance in Python Attributes
Mammal & Panda Attribute Inheritance
Pizza Define the Classes & Hierarchy
Welcome to this Section Inheritance in Python Attributes
Section Resources
Introduction to Inheritance
Important Terminology and Tips
Inheritance in Context Avoid Code Repetition
Inheritance in Python Syntax
Check if a Class is a Subclass of another Class
How to Inherit Attributes with init
How to use super to refer to the superclass
Coding Session 1 Employee and Programmer
Coding Session 2 Character Player Enemy
Multilevel Inheritance
Multiple Inheritance
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
Inheritance Concept
Inheritance Syntax

Inheritance in Python Methods
Call a Method of the Superclass
Method Overriding
Welcome to this Section Inheritance in Python Methods
Section Resources
Introduction to Method Inheritance
Inheritance in Python Syntax Methods
How to Call a Method of the Superclass
Example Method Inheritance
Method Overriding
Coding Session Method Overriding
Common Confusion Overriding vs Overwriting
Method Overloading
Polymorphism
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
Method Inheritance Theory
Method Inheritance Syntax
Method Overriding

Working with Multiple Files Learn to Use Import Statements in Python
Welcome to this Section Working with Multiple Files
Section Resources
Introduction to Import Statements
Syntax 1 How to Import all the Elements of a Module
Syntax 2 How to Import Individual Elements of a Module
Wildcard Import Statements
How to Import Modules and Elements with New Names
Types of Imports
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
Import Statements

Docstrings Learn How to Document your Classes and Methods
Welcome to this Section Docstrings
Section Resources
Quick Intro Exceptions
Introduction to Docstrings
How to Write Docstrings Syntax and Content
Multi
How to Document Classes in Python
Example How to Document a Class
Example Documenting Functions
Docstring Styles
Read Docstrings with help and doc
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
Docstrings Theory
Docstrings Syntax and Content

Special Methods Add Special Functionality to Your Classes
Welcome to this Section Special Methods
Section Resources
Introduction to Special Methods
Terminology Dunder Methods
Tour of the Python Documentation
str
str vs repr
len
add
getitem
bool
Relevant Connection bool and len
Rich Comparison Methods
Mini Project PDF Version for Mobile App
Collect Your Badge and Share your Experience
Special Methods Basics

Final Project Implement a Linked List OOP and Data Structures
Welcome to the Final Project
Introduction to Data Structures
Nodes in Data Structures Theory Code
Practice Create a Sequence of Nodes
Introduction to Linked Lists
Linked List Class Attributes
Insert a Node at the Beginning of a Linked List
Insert a Node in the Middle of a Linked List
Why selfheadnext
Insert a Node to the End of a Linked List
Practice Insert Nodes with Strings
Traverse a Linked List to Print its Elements
Count the Nodes of a Linked List
Find a Node in a Linked List
Delete a Node from the Beginning of a Linked List
Delete a Node from the Middle of a Linked List
Delete a Node from the End of a Linked List
Challenge Print Linked List Items in Reverse Order
Collect Your Badge and Share your Experience

Congratulations You Completed the Course
PDF Resource Study Guide
Congratulations Collect and Share Your Badge
Bonus Lecture

Archived Curriculum Items
Welcome to the Archived Section
Welcome to this Section Object Oriented Analysis and Design
Section Resources
Tools IDLE PyCharm or Other IDEs
Goals of ObjectOriented Analysis and Design
Object Oriented Analysis Guidelines
Introduction to Tic
Tic
Player Class
Board Class Part 1 Analysis and Attributes
Board Class Part 2 Print the Board
The pass Statement in Python
Board Class Part 3 Submit Move and Check if the Move is Valid
Board Class Part 4 Check if the Player has Won the Game
Implement the Tic
Player A Different Constructor
Challenge Check Tie

Homepage