Python Program to Create a class performing Calculator Operations

When it is required to create a class that performs calculator operations, object oriented method is used. Here, a class is defined, and attributes are defined. Functions are defined within the class that perform certain operations. An instance of the class is created, and the functions are used to perform calculator operations.

Below is a demonstration for the same ?

Example

class calculator_implementation():
    def __init__(self, in_1, in_2):
        self.a = in_1
        self.b = in_2
    
    def add_vals(self):
        return self.a + self.b
    
    def multiply_vals(self):
        return self.a * self.b
    
    def divide_vals(self):
        return self.a / self.b
    
    def subtract_vals(self):
        return self.a - self.b

input_1 = int(input("Enter the first number: "))
input_2 = int(input("Enter the second number: "))
print("The entered first and second numbers are : ")
print(input_1, input_2)

my_instance = calculator_implementation(input_1, input_2)
choice = 1

while choice != 0:
    print("0. Exit")
    print("1. Addition")
    print("2. Subtraction")
    print("3. Multiplication")
    print("4. Division")
    choice = int(input("Enter your choice... "))
    
    if choice == 1:
        print("The computed addition result is : ", my_instance.add_vals())
    elif choice == 2:
        print("The computed subtraction result is : ", my_instance.subtract_vals())
    elif choice == 3:
        print("The computed product result is : ", my_instance.multiply_vals())
    elif choice == 4:
        print("The computed division result is : ", round(my_instance.divide_vals(), 2))
    elif choice == 0:
        print("Exit")
    else:
        print("Sorry, invalid choice!")

print()

Output

Enter the first number: 70
Enter the second number: 2
The entered first and second numbers are :
70 2
0. Exit
1. Addition
2. Subtraction
3. Multiplication
4. Division
Enter your choice... 1
The computed addition result is : 72
0. Exit
1. Addition
2. Subtraction
3. Multiplication
4. Division
Enter your choice... 2
The computed subtraction result is : 68
0. Exit
1. Addition
2. Subtraction
3. Multiplication
4. Division
Enter your choice... 3
The computed product result is : 140
0. Exit
1. Addition
2. Subtraction
3. Multiplication
4. Division
Enter your choice... 4
The computed division result is : 35.0
0. Exit
1. Addition
2. Subtraction
3. Multiplication
4. Division
Enter your choice... 0
Exit

Enhanced Calculator with Error Handling

Here's an improved version with better error handling and additional features ?

class Calculator:
    def __init__(self, num1, num2):
        self.num1 = num1
        self.num2 = num2
    
    def add(self):
        return self.num1 + self.num2
    
    def subtract(self):
        return self.num1 - self.num2
    
    def multiply(self):
        return self.num1 * self.num2
    
    def divide(self):
        if self.num2 == 0:
            return "Error: Division by zero!"
        return self.num1 / self.num2
    
    def power(self):
        return self.num1 ** self.num2

# Example usage
calc = Calculator(10, 5)

print("Calculator Operations:")
print(f"Addition: {calc.add()}")
print(f"Subtraction: {calc.subtract()}")
print(f"Multiplication: {calc.multiply()}")
print(f"Division: {calc.divide()}")
print(f"Power: {calc.power()}")

# Test division by zero
calc_zero = Calculator(10, 0)
print(f"Division by zero: {calc_zero.divide()}")
Calculator Operations:
Addition: 15
Subtraction: 5
Multiplication: 50
Division: 2.0
Power: 100000
Division by zero: Error: Division by zero!

Explanation

  • A class named calculator_implementation is defined, that has functions like add_vals, subtract_vals, multiply_vals, and divide_vals.
  • These are used to perform calculator operations such as addition, subtraction, multiplication, and division respectively.
  • An instance of this class is created by passing two numbers as parameters.
  • The interactive menu allows users to choose different operations repeatedly until they select exit.
  • The enhanced version includes error handling for division by zero and uses more descriptive method names.

Conclusion

Using classes for calculator operations provides a clean, reusable structure. The object-oriented approach encapsulates data and methods together, making the code organized and easy to maintain.

Updated on: 2026-03-25T17:32:11+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements