Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग
Alex Yarosh
Content Quality Analyst @ DataCamp
self होता हैself.___ से संदर्भित करें
class MyClass:
# function definition in class
# first argument is self
def my_method1(self, other_args...):
# do things here
def my_method2(self, my_attr):
# attribute created by assignment
self.my_attr = my_attr
...
__init__() method हर बार ऑब्जेक्ट बनने पर कॉल होता है।class Customer: def __init__(self, name): self.name = name # <--- .name attribute बनाएँ और इसे name पैरामीटर पर सेट करें print("The __init__ method was called")cust = Customer("Lara de Silva") #<--- __init__ स्वतः कॉल होता है print(cust.name)
The __init__ method was called
Lara de Silva
class Customer: def __init__(self, name, balance): # <-- balance पैरामीटर जोड़ाself.name = name self.balance = balance # <-- balance attribute जोड़ा print("The __init__ method was called")cust = Customer("Lara de Silva", 1000) # <-- __init__ कॉल हुआ print(cust.name) print(cust.balance)
The __init__ method was called
Lara de Silva
1000
class Customer: def __init__(self, name, balance=0): #<-- balance के लिए default मान सेट करेंself.name = name self.balance = balance print("The __init__ method was called")cust = Customer("Lara de Silva") # <-- balance स्पष्ट रूप से न देंprint(cust.name) print(cust.balance) # <-- attribute फिर भी बनता है
The __init__ method was called
Lara de Silva
0
class MyClass:
def my_method1(self, attr1):
self.attr1 = attr1
...
def my_method2(self, attr2):
self.attr2 = attr2
...
obj = MyClass()
obj.my_method1(val1) # <-- attr1 बना
obj.my_method2(val2) # <-- attr2 बना
class MyClass: def __init__(self, attr1, attr2): self.attr1 = attr1 self.attr2 = attr2 ...# सभी attributes बन जाते हैं obj = MyClass(val1, val2)
__init__() में attributes initialize करें__init__() में attributes initialize करेंक्लास के लिए CamelCase, functions और attributes के लिए lower_snake_case
__init__() में attributes initialize करेंक्लास के लिए CamelCase, functions और attributes के लिए lower_snake_case
self को self ही रखेंclass MyClass:
# यह काम करता है, पर अनुशंसित नहीं
def my_method(kitty, attr):
kitty.attr = attr
__init__() में attributes initialize करेंक्लास के लिए CamelCase, functions और attributes के लिए lower_snake_case
self वही selfclass MyClass:
"""यह क्लास कुछ नहीं करती"""
pass
Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग