Day 16 of 100 Days of Python
Learning Class and Objects
Today on Day 16, I started Classes and Objects in Python. This is the beginner program I tried to get familiar with writing classes.
1
2
3
4
5
6
7
8
9
class Character:
def __init__(self, name, level, power):
self.name =name
self.level =level
self.power = power
def profile(self):
print(f"Character: {self.name} | Level: {self.level} | Power Type: {self.power}")
player1 = Character("Alex", 50, "Telekinesis")
player1.profile()
I solved a few other programs also to get familiar with the syntax of constructors.
1
2
3
4
5
6
7
8
9
10
11
12
class EmployeeProfile:
def __init__(self,emp_id,name,depart):
self.emp_id = emp_id
self.name= name
self.depart = depart
def fetch_details(self):
return f"EmpID: {self.emp_id} | Name: {self.name} | Dept: {self.depart}"
emp1 = EmployeeProfile("E1154", "Alex", "IT")
x = emp1.fetch_details()
print(x)
Program 3:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class InventoryItem:
def __init__(self, it_id, it_name, sc):
self.it_id = it_id
self.it_name = it_name
self.sc = sc
def up_st(self, amt):
if amt<0:
if -1*amt > self.sc:
return "Insufficient stock"
self.sc += amt
return f"New stock: {self.sc}"
item = InventoryItem("SK81333", "Lights" , 50)
x = item.up_st(-145)
print(x)
Output for program 3:
1
2
3
New stock: 35 (for amt = 15)
New stock: 5 (for amt = -45)
Insufficient stock (for amt = -145)
Program 4: Create a class that models a system tracking a sequence of measurements, allowing updates to the data and reporting calculations based on its internal state.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class DataTracker:
def __init__(self):
self.records = []
def add_record(self, value):
self.records.append(value)
def get_variance(self):
l = len(self.records)
if l < 2:
return 0.0
else:
variance = 0.0
sum_sqaured_diff =0.0
s=0
for num in self.records:
s = s + num
mean = s/l
for num in self.records:
sum_sqaured_diff += (num-mean)**2
variance = sum_sqaured_diff/l
return float(variance)
tracker = DataTracker()
tracker.add_record(10)
tracker.add_record(20)
tracker.add_record(30)
x = tracker.get_variance()
print(x)
Output:
1
66.66666666666667
This post is licensed under CC BY 4.0 by the author.