Sum, Subtraction and Multiplication using Class and Object in Python
I am just learning basic python. I i have committed any mistake please comment there and help me to learn more Thanks
Write code in caluclatorclass.py:
class Calculator:
enterFirstNumber='Please enter first Number'
enterSecondNumber='Please enter second Number'
invalidValueString='Invalid value is passed to'
def __init__(self):
print('calculator __init_')
def sum(self):
try:
number1=float(input(self.enterFirstNumber))
number2=float(input(self.enterSecondNumber))
print('Sum is:',number1+number2)
except Exception as e:
print('{invalidValueString} sum.'.format(invalidValueString=invalidValueString))
def subtraction(self):
try:
number1=float(input(self.enterFirstNumber))
number2=float(input(self.enterSecondNumber))
subtractionValue=number1-number2
print('Subtraction is:{subtractionValue}'.format(subtractionValue=subtractionValue))
except Exception as e:
print('{invalidValueString} subtraction.'.format(invalidValueString=invalidValueString))
def multiplication(self):
try:
number1=float(input(self.enterFirstNumber))
number2=float(input(self.enterSecondNumber))
print('Multiplication is:{0}'.format(number1*number2))
except Exception as e:
print('{invalidValueString} multiplication.'.format(invalidValueString=invalidValueString))
Write code in number-examples.py:
from calculatorclass import Calculator
class Person:
calculator=None
def __init__(self,userName):
#creats Calculator instance here.
self.calculator=Calculator()
#capitalize()/title() capitalizes the first Letter of string.
print('Welcome {userName}!'.format(userName=userName.capitalize()))
def whileloop(self):
self.displayWhatUserCanInput()
done=False
while done==False:
userinput=input('Enter 5 to exit and any other number to continue.')
if int(userinput)==5:
print('Bye!')
done=True
else:
self.displayWhatUserCanInput()
done=False
def displayWhatUserCanInput(self):
print('''Please enter 1 for sum
2 for subtraction
3 for multiplication
''')
try:
options={
1:self.calculator.sum,
2:self.calculator.subtraction,
3:self.calculator.multiplication
}
num=input('Please enter 1,2 or 3')
func=options.get(int(num),'Invalid value found!')
func()
except Exception as ex:
print (ex)
print('Invalid value found')
class Welcome:
def __init__(self):
print('Welcome to the python demo calculator')
userName=input('Please enter your name: ')
if not userName:
print('You didn\'t enter your name')
else:
person=Person(userName)
person.whileloop()
#Call welcome class here.
welcome=Welcome()
My observation:-
Here i found while creating classes and calling it.
1. If you have __init__() method in class to call it write abc=ClassName
2. If you have __init__(self) method in class to call it write abc=ClassName()
3. If you have __init__(self,argument) method in class to call it write abc=ClassName(argument_value)
to execute it:-
write in terminal:-
py number-examples.py