In the previous sessions, you must have heard about using a list object. What exactly is an object in Python? In this segment, we will explore some of the basic object-oriented programming concepts in Python, which help us understand the language better.
Having learnt about classes from the previous video, you will now create an Employee class with three attributes, namely, age, name and employee id.
The class keyword is used to define a class, and in the __init__ method, you initialise the attributes that define our class. Here, name, age and employee id are the attributes to define our employee class, and using the self keyword, you define these arguments inside the __init__ method. You will learn about the significance of self in future segments.
Class Employee: def __init__(self,age,name,eid): Self.age = age Self.name = name Self.eid = eid
It is very important to understand the init method since it is this method that is instantiated automatically when a particular class is being used; it also determines the number of values to be passed.
Having created the employee class, you can now create an object in this class by just passing the details of employee as arguments.
E1 = Employee(24,'Ravi',101) → This would create E1 with age = 24, name = Ravi, and eid = 101. This object E1 is nothing but an instance of the class Employee. When you try to apply the type function on E1, it will return the class to which it belongs.
Now, is it possible for this employee class to contain certain attributes such as the company code that are common to all the employees? These are class variables, and they are common to all instances of the class.
So, let’s add a class variable called company code to our employee class.
class Employee : company_code = "EMZ" def __init__(self,age, name,eid): self.age = age self.name = name self.eid = eid
This would make the company code a common property of all the employees. On creating an employee instance, the company code attribute and its value are assigned automatically to the employee as shown below.
E1 = Employee(24, 'Ravi', 101) E1.company_code 'EMZ
You cannot simply use E1.company_code = 'XYZ’ to change the company_code. This would change the company_code of E1 employee; however, since company code applies to all the employees, you need to write:
Employee.company_code ='XYZ'