OOP Method Types in Python: @classmethod vs @staticmethod vs Instance Methods
Dan Bader
7 Lessons
14m
intermediate
python
What’s the difference between @classmethod, @staticmethod, and “plain/regular” instance methods in Python? You’ll know the answer after watching this video course:
-
Regular (instance) methods need a class instance and can access the instance through
self. They can read and modify an objects state freely. -
Class methods, marked with the
@classmethoddecorator, don’t need a class instance. They can’t access the instance (self) but they have access to the class itself viacls. -
Static methods, marked with the
@staticmethoddecorator, don’t have access toclsorself. They work like regular functions but belong to the class’s namespace.
In this course you’ll go over the differences between these three kinds of methods in Python. You’ll also see when to use each with a simple example, so you can improve your object-oriented programming (OOP) skills in Python.
Recommended Resources#
OOP Method Types in Python: @classmethod vs @staticmethod vs Instance Methods
7 Lessons 14m
About Dan Bader
Dan Bader is the owner and editor in chief of Real Python and the main developer of the realpython.com learning platform. Dan has been writing code for more than 20 years and holds a master's degree in computer science.
» More about Dan


DiscreteLoner on June 27, 2019
Awesome! I really enjoy this video set.