DEV Community

Gianni Castellano
Gianni Castellano

Posted on

Classes in Python (Introduction)

In Python, classes are the foundation of object-oriented programming. In simple terms, they are essentially a template for creating objects with similar attributes.

Creating Classes

Class definition syntax is extremely straightforward. All you need is the keyword: class followed by the ClassName: (the class name is always in UpperCamelCase). I have provided an example below:
class Shop:
Well done you have successfully created a class! Now we will take a deeper dive into how you can use them. I will be using a class to create and store different shops throughout this blog.

Using Classes

The first step after creating your class is to use a constructer method know as the init method to initialize instance attributes that will be used when instantiating objects.

class Shop:
    def __init__(self, name, location, owner):
        self.name = name
        self.location = location
        self.owner = owner
Enter fullscreen mode Exit fullscreen mode

Now whenever we create or instantiate a new store/shop object within this class it will share these attributes we initialized! Now lets create some shops:

class Shop:
    def __init__(self, name, location, owner):
        self.name = name
        self.location = location
        self.owner = owner

   #method for displaying our stores
   def display_store_info(self)
       return f"Shop: {self.name}, Location: {self.location}, Owner: {self.owner}"

#creating shop instances
first_shop = Shop("FoodMart", "Main Street", "John Smith")
second_shop = Shop("ClothingStore", "Billybob Avenue", "Billy Bob")


Enter fullscreen mode Exit fullscreen mode

Now in our python shell if we type print(first_shop.display_store_info()) we will see this display:

Shop: FoodMart, Location: Main Street, Owner: John Smith

We could also do the same for the second_shop! We created a method or function in our class called display_store_info that allowed us to inject the attributes defined in our init. Now we could make limitless shop objects that include the name, location, and owner as a reusable template.

This is just the beginning when it comes to classes. The possibilities and reusability is incredible when it comes to using classes in Python. I would love to go into more detail in a future blog post but this is just a small little intro.

Top comments (0)