Python in Hindi - Classes & Objects


Introduction to Python Classes

Python एक object oriented programming है। Object oriented programming का सबसे important feature class होती है। 

Bounds Data and Its Functionality Together

Classes data और उनकी functionality को bound करने का एक माध्यम होता है। यदि python की बात की जाए तो data को class variables द्वारा represent किया जाता है जिन्हें attributes भी कहते है। 
Functionality को functions द्वारा represent किया जाता है। जँहा attributes एक class instance की state को maintain करते है वँही methods का प्रयोग instances की states को modify करने के लिए किया जाता है।

Class Creates a New Type

एक class create करके आप एक नया type create करते है जिसके instances create किये जाते है। Instances के द्वारा data और उसकी functionality को handle किया जाता है।
एक class एक blueprint होती है और इसके आधार पर कितने भी instances create किये जा सकते है। सभी instances के attributes एक समान होते है लेकिन उनमें store की जाने वाली information अलग अलग होती है। 

Python Adds Classes Using Minimum New Syntax

Python में classes add करना दूसरी programming languages से ज्यादा अलग नहीं है। इसके लिए आपको कुछ नया syntax use करने की आवश्यकता नहीं है। Python में classes add करने के लिए आपको बहुत कम syntax use करना पड़ता है। 

Combination of C++ and Modula 3 Class Mechanisms

Python में classes C++ और Modula 3 के class mechanism का combination है। C++ की ही तरह python में भी सभी class members by default public होते है और सभी member functions virtual होते है।

Objects Can Have As Much Data of As Many Types

Python में एक object कितना भी amount का data store कर सकता है। Data की size और उसके type के लिए python में कोई limit नहीं है। 

Creating Python Classes

जैसा की पहले बताया गया है python में class create करने के लिए कुछ नया syntax नहीं use किया जाता है। यह कार्य python कम से कम syntax के द्वारा perform करती है।

class Keyword

ज्यादातर languages की ही तरह python में भी एक class define करने के लिए class keyword का प्रयोग किया जाता है। मुख्य अंतर यह है की python में class header declaration के बाद colon (:) लगाना अनिवार्य होता है। 
class <class-name>:
    #class attributes (variable) & class members 
Python में classes को आप if block या function block के अंदर भी define कर सकते है।

Python Empty Class

Python में आप एक empty class भी create कर सकते है। इसके लिए class define करके उसके अंदर pass statement declare किया जाता है जो यह बताता है की वह एक empty class है। 
class myClass:
    pass

Python Class Attributes

एक class में आप attributes (variables) define कर सकते है।
class Apple:
    color = “red”
जब आप class का object create कर लेते है तो उसके बाद उस object के द्वारा attributes को access किया जा सकता है। इसके लिए dot (.) operator का प्रयोग किया जाता है।
obj = Apple()               #creating object of class Apple()
print(Apple.color)      #prints red

Python Class Methods 

Attributes के अलावा python classes में methods भी define किये जा सकते है। Methods usually attributes पर operations perform करने के लिए define किये जाते है। 
Normal functions की ही तरह class में methods create करने के लिए def keyword का प्रयोग किया जाता है।
class Apple:
    color = “Red”

    def printColor(self)
        print(self.name)
Methods को भी attributes की तरह ही class के object के साथ dot operator use करके call किया जा सकता है।
Apple.printColor()      #prints Red

self Keyword

Python में self keyword का प्रयोग class methods के अंदर से attributes को refer करने के लिए किया जाता है। जैसा की ऊपर दिए गए उदाहरण में दिया गया है। 
Self keyword को use करने के लिए यह आवश्यक है की method को define करते समय self keyword को parameter के रूप में define किया जाये। 
यदि आप self keyword के अलावा दूसरे parameters define करते है तो method को call करते समय उनके लिए arguments pass करते है। 

__init__ Method

Class attributes के लिए values run time पर भी pass की जा सकती है। ऐसी values को apply करने के लिए __init__ method का प्रयोग किया जाता है। 
class myClass:
    def __init__(self,name):
        self.myName = name

    def printName(self):
        print(self.myName)
obj = myClass(“Best Hindi Tutorials”)
obj.printName()     #prints Best Hindi Tutorials

Post a Comment

0 Comments