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
No comments: