Python Classes | Table O Contents
Classes are a fundamental concept of OOP = “Object-Oriented Programming” in Python …
Note. The following synopsis is derived from a prompt by the author via GPT-4 at Open AI on July 17th, 2023 [1].
Methods versus Attributes
Hint. A class is like a “Construction Blueprint” or template that defines the properties (attributes) and behaviors (methods) that objects of the subject “class” possess …
Class Elements
Recuerde! Methods = “Behaviors”.
And, Properties = “Attributes”.
Class Creation
The “class” as such provides a way to organize and structure code by grouping related data and functions together.
To create a “class” in Python, the expert Python programmer uses the class keyword followed by the name of the “class”, as follows:
class MyClass:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"Hello, {self.name}!")
Discussion
In this example, MyClass is the name of the “class”.
And, MyClass has two main members, as follows:
A. The __init__ method
And,
B. The say_hello method.
Constructors
The __init__ method is a special behavior called a “constructor” and is executed when an “object of the class” is created.
The built-in “constructor” function allows the expert Python programmer to initialize and instantiate the new object’s attributes.
In this case, the “constructor” takes a name parameter and assigns it to the self.name attribute.
Regular Methods
Whereas, the say_hello method is simply a “regular” method that belongs to the class.
The now assigned “regular” method say_hello takes no parameters except self …
;where self refers to the initial instance of the new “class”.
Making Objects
Once a “class” is defined, the programmer may create “objects” aka instances of the “class” …
;where each object has its own set of attributes and can execute the methods defined in the class.
Creating an object and calling its methods may be illustrated by the following code block, as follows:
obj = MyClass("John") #Creates an object of the `MyClass` "class"
obj.say_hello() #Calls the `say_hello` method of the newly formed object
Execution
Finally, the short program prints a greeting using the self.name attribute.
When the program is run, the following execution output is rendered to the screen, as follows:
Hello, John ...!
Benefits
In addition to the built-in “constructor” method of __init__ along with any “regular” methods assigned by the programmer …
“Classes” can have other members, as well.
For example, “Class” attributes may shared by all and any instance of the “class” along with any methods that have been associated with the “class” itself.
Conclusion
“Classes” do provide a way to achieve encapsulation, abstraction, inheritance, and polymorphism in Python.
These additional key principles of “Object Oriented Programming” or OOP allow the programmer to create reusable code, to organize related data and functions, and to model real-world entities.
References
Note. The Flammarion Logo Badge in the page header above is an .svg image file set to the dimensions of 5% width, auto height, and zoom. Go ahead and test the zoom-out feature by hovering over the badge to engage the expansion of the image.
Support
Please support the co-workers who aggregate the Source Links for our projects.
Patreon
Like what you see in this project? If so, then support the authors and machine-elves who aggregate the source links and pages for our projects via Patreon.