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 :Output :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__)
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 :Output :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)
__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