Python has been an object-oriented language since it existed. Creating and using classes and objects are downright easy. This tutorial will help you become an expert in using Python's object-oriented programming support.
If you do not have any prior experience with object-oriented programming (OOP), you may want to consult an introductory course on it or at least a tutorial of some sort so that you have a grasp of the basic concepts.
If you understand the basic concepts of OOP here is an introduction of Object-Oriented Programming (OOP) to help you.
Terminology in OOP
| Term | Explanation |
|---|---|
| Class | A user-defined prototype for an object that defines a set of attributes that characterize any object of the class. The attributes are data members (class variables and instance variables) and methods, accessed via dot notation. |
| Class variable | A variable that is shared by all instances of a class. Class variables are defined within a class but outside any of the class's methods. Class variables are not used as frequently as instance variables are. |
| Data member | A class variable or instance variable that holds data associated with a class and its objects. |
| Function overloading | The assignment of more than one behavior to a particular function. The operation performed varies by the types of objects or arguments involved. |
| Instance variable | A variable that is defined inside a method and belongs only to the current instance of a class. |
| Inheritance | The transfer of the characteristics of a class to other classes that are derived from it. |
| Instance | An individual object of a certain class. An object obj that belongs to a class Circle, for example, is an instance of the class Circle. |
| Instantiation | The creation of an instance of a class. |
| Method | A special kind of function that is defined in a class definition. |
| Object | A unique instance of a data structure that's defined by its class. An object comprises both data members (class variables and instance variables) and methods. |
| Operator overloading | The assignment of more than one function to a particular operator. |
Creating Python Class
The class statement is used to create a new class definition. The name of the class immediately follows the keyword class followed by a colon as follows:
class ClassName: 'Optional class documentation string' class_suite
Here is an example of creating a simple Python class:
class Employee:
'Common base class for all employees'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayCount(self):
print ("Total Employee %d" % Employee.empCount)
def displayEmployee(self):
print ("Name : ", self.name, ", Salary: ", self.salary)
Creating Instance Objects
To create instances of a class, you call the class using class name and pass in whatever arguments its __init__ method accepts.
# This would create first object of Employee class
emp1 = Employee("Zara", 2000)
# This would create second object of Employee class
emp2 = Employee("Manni", 5000)
Accessing Attributes
You access the object's attributes using the dot operator with object. Class variable would be accessed using class name as follows:
emp1.displayEmployee()
emp2.displayEmployee()
print ("Total Employee %d" % Employee.empCount)
For the complete example, please see the code below.
class Employee:
'Common base class for all employees'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayCount(self):
print ("Total Employee %d" % Employee.empCount)
def displayEmployee(self):
print ("Name : ", self.name, ", Salary: ", self.salary)
#This would create first object of Employee class"
emp1 = Employee("Zara", 2000)
#This would create second object of Employee class"
emp2 = Employee("Manni", 5000)
emp1.displayEmployee()
emp2.displayEmployee()
print ("Total Employee %d" % Employee.empCount)
Gabung Komunitas Developer & Kreator Digital
Dapatkan teman coding, sharing project, networking dengan expert, dan update teknologi terbaru.
Selamat! Anda telah sukses mendaftar di newsletter.