डाउनलोड पी.डी.एफ. ई-बुक्स
Python - Python Class Attributes and Functions

Python में हर class के साथ In-Built Class Attributes होते है |

  • __doc__ : ये दिए गए class की docstring को return करता है अगर docstring नहीं होती है तो 'None' return होता है |
  • __name__ : ये दिए गए class का नाम return करता है |
  • __module__ : जहा पर class होता वो module name return किया जाता है अगर class current program पर होता है तो '__main__' return होता है |
  • __bases__ : ये दिए गए class का base class(es) tuple में return करता है | अगर कोई base class नहीं होता है तो empty tuple return करता है |
  • __dict__ : ये दिए गए class के attributes को dictionary में return करता है |

Example for Class Attributes in Python

Source Code :
class Employee:
    "I am in class Employee"
    pass
class Fitness(Employee):
    "I am in class Fitness"
    pass
class Company(Fitness):
    "I am in class Company"
    pass
    
print("Docstring of class Company :",Company.__doc__)
print("Class Name :",Company.__name__)
print("Module Name :",Company.__module__)
print("Base Class of Company :",Company.__bases__)
print("Company's class attributes :",Company.__dict__)
Output :
Docstring of class Company : I am in class Company
Class Name : Company
Module Name : __main__
Base Class of Company : (<class '__main__.Fitness'>,)
Company's class attributes : {'__module__': '__main__', '__doc__': 'I am in class Company'}

Example for All Class Attributes in Python

Source Code :
class Employee:
    "I am in class Employee"
    pass
class Fitness(Employee):
    "I am in class Fitness"
    pass
class Company(Fitness):
    "I am in class Company"
    pass
    
obj = Employee()
for attr in dir(Employee): 
   if attr.startswith('__'):
      print(attr)
Output :
__class__
__delattr__
__dict__
__dir__
__doc__
__eq__
__format__
__ge__
__getattribute__
__gt__
__hash__
__init__
__init_subclass__
__le__
__lt__
__module__
__ne__
__new__
__reduce__
__reduce_ex__
__repr__
__setattr__
__sizeof__
__str__
__subclasshook__
__weakref__


Functions for Class Attributes

delattr()object के attribute को delete करने के लिए इस्तेमाल किया जाता है |
getattr()object के attribute की value को return करता है |
hasattr()object का attribute है या नहीं ये check boolean value में return करता है |
setattr()object के attribute के set किया जाता है अगर पहले ही set होता है तो उसे overwrite किया जाता है लेकिन ये अलग-अलग memory share करता है | ये None return करता है |

 

delattr() Function in Python

Syntax :
delattr(object, attribute)
Example :
class MyClass:
    a = 5

obj = MyClass()
print(obj.a)
delattr(obj, 'a') #same as   del obj.a
#Output :    
#	delattr(obj, 'a')
#AttributeError: a

getattr() Function in Python

Syntax :
getattr(object, attribute)
Example :
class MyClass:
    a = 5

obj = MyClass()
print(getattr(obj, 'a'))
#same as
print(obj.a)
#Output
#5
#5

hasattr() Function in Python

Syntax :
hasattr(object, attribute)
Example :
class MyClass:
    a = 5

obj = MyClass()

print(hasattr(obj, 'a'))
#same as
print(bool(obj.a))
#Output
#True
#True

print(hasattr(obj, 'b')) #return False if attribute is not set
#not same as
print(bool(obj.b)) #raise AttributeError if attribute is not set
#Output
#False
#AttributeError

setattr() Function in Python

Syntax :
setattr(object, attribute, attr_value)
Example :
class MyClass:
    a = 5

obj = MyClass()

setattr(obj, 'a', 8)
print(getattr(obj, 'a'))
#Output
#8

setattr(obj, 'b', 10)
print(getattr(obj, 'b'))
#Output
#10