Classes
We explored OOP in an earlier blog and we touched on classes, so in this blog let’s explore classes in a greater length. Classes provide a way to package together data types and methods or functions, that are interrelated.
Let’s consider the syntax of creating a class:
- class <class_name>:
….–code—
class First_Class:
variable1 = "Verification Master"
test_1 = First_Class() # We created an object of our class
print("Within the class we have stored:", test_1.variable1)
We run this we get the output:

We created a class called “First_Class” and created a variable with text in it. To instantiate or create an object of a class, all we need to do is follow the syntax:
- <object_name> = <class_name>
We then used the dot operator to access the variable we defined inside our class.
We can also modify the variable of an object in the following way:
test_1.variable1 = "Verification_Master" # replacing space with _
Let’s modify the above code by adding a function and an input.
class First_Class:
def add(self, number):
return number + 100
user_input = int(input("Enter a number:"))
test_1 = First_Class() # We created an object of our class
result = test_1.add(user_input)
print("Result is:", result)
We get the result:

We have added a function called “add” and it will add 100 to a number. We then collected the user’s input and then passed that as the argument for the function we created. To access a function all we have to do is use the dot operator similar to how we access a variable.
Let’s now see an example of how we can use a class efficiently.
class Animal:
animal_type = "carnivore" # this is shared with all instances
def __init__(self, name):
self.name = name # this is unique for each instance
animal_1 = Animal('Tiger')
animal_2 = Animal('Lion')
print("Animal 1 is a:", animal_1.animal_type)
print("This animal is a:", animal_1.name)
print("")
print("Animal 2 is a:", animal_2.animal_type)
print("This animal is a:", animal_2.name)
When we run this, we get:

We created a class called “Animal” with a variable that conveys what type of an animal it is, which in this case is a “carnivore”. Recall what we discussed about the __init__() function, it gets called when we create an instance of a class. Here the __init__() function takes an argument which is the name of the animal.
We can also observe that for each instance of the class, we have the variable “animal_type” as the same value, but the variable “name”, has the value we passed as an argument when we instantiated each of the objects.
NOTE: We will cover more about the __init__() function, in detail in a later blog.
There are ways in which we can inaccurately use a class, thus, consider a faulty way of using classes:
class Fruits:
fruit_quality = [] # shared variable
def __init__(self, name):
self.name = name
def give_review(self, quality):
self.fruit_quality.append(quality)
fruit_1 = Fruits("Apple")
fruit_1.give_review("Exceptional")
fruit_2 = Fruits("Mangoes")
fruit_2.give_review("Rotten")
print("Quality of", fruit_1.name, "->", fruit_1.fruit_quality)
This gives us the output:

Instead of printing all the reviews of an apple, this also printed the review given for mango as well. The correct way of using a class would be:
class Fruits:
def __init__(self, name):
self.name = name
self.fruit_quality = [] # makes it unique for each instance
def give_review(self, quality):
self.fruit_quality.append(quality)
fruit_1 = Fruits("Apple")
fruit_1.give_review("Exceptional")
fruit_2 = Fruits("Mangoes")
fruit_2.give_review("Rotten")
print("Quality of", fruit_1.name, "->", fruit_1.fruit_quality)
print("Quality of", fruit_2.name, "->", fruit_2.fruit_quality)
This will accurately print the review of each fruit.

What have we learned?
- What is the syntax of creating a class?
- How do we create an object of a class?
- How to use an object to access a variable and a function of a class?
- How do we modify a variable of an object?
- How to create a variable that is unique to each instance?