
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Built-in Class Attributes in Python
In this article, we will explain to you the built-in class attributes in python
The built-in class attributes provide us with information about the class.
Using the dot (.) operator, we may access the built-in class attributes.
The built-in class attributes in python are listed below ?
Attributes | Description |
---|---|
__dict__ | Dictionary containing the class namespace |
__doc__ | If there is a class documentation class, this returns it. Otherwise, None |
__name__ | Class name. |
__module__ | Module name in which the class is defined. This attribute is "__main__" in interactive mode. |
__bases__ | A possibly empty tuple containing the base classes, in the order of their occurrence in the base class list. |
Now we will see about each one of them in brief along with an example for better understanding
Example 1: __dict__ Class Attribute
Here we are printing the dict of the class.
# creating a class say Tutorialspoint class Tutorialspoint: 'Welcome to Tutorialspoint Python' def __init__(self): print("The __init__ method") # Printing the value of Built-in __dict__ attribute for the TutorialsPoint class print(Tutorialspoint.__dict__)
Output
On executing, the above program will generate the following output ?
{'__module__': '__main__', '__doc__': 'Welcome to Tutorialspoint Python', '__init__': <function Tutorialspoint.__init__ at 0x7fd7812df050>, '__dict__': <attribute '__dict__' of 'Tutorialspoint' objects>, '__weakref__': <attribute '__weakref__' of 'Tutorialspoint' objects>}
Example 2: __doc__ Class Attribute
In the Python code below, we create a Tutorialspoint class with documentation.
# creating a class say Tutorialspoint class Tutorialspoint: 'Welcome to Tutorialspoint Python' def __init__(self): print("The __init__ method") # getting the documentation for the Tutorialspoint using # built-in __doc__ class attribute print(Tutorialspoint.__doc__)
Output
Welcome to Tutorialspoint Python
Example 3: __name__ Class Attribute
In the Python code below, we print the name of the class using the __name__ class attribute
class Tutorialspoint: 'Welcome to Tutorialspoint Python' def __init__(self): print("The __init__ method") # getting the name of the class using built-in __name__ class attribute print(Tutorialspoint.__name__)
Output
Tutorialspoint
Example 4: __module__ Class Attribute
In the Python code below, we print the module of the class using the __module__ class attribute
class Tutorialspoint: 'Welcome to Tutorialspoint Python' def __init__(self): print("The __init__ method") # getting the module of the class using built-in __module__ class attribute print(Tutorialspoint.__module__ )
Output
__main__
Example 5: __bases__ Class Attribute
In the Python code below, we print the bases of the class using the built-in __bases__ class attribute
class Tutorialspoint: 'Welcome to Tutorialspoint Python' def __init__(self): print("The __init__ method") # getting the bases of the class using built-in __bases__ class attribute print(Tutorialspoint.__bases__)
Output
(<class 'object'>,)
Applying all the class attributes in a single program
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task ?
Create a parent class with the name Employee
Create a variable and initiaize the variable with 0 for storing the employ count.
Create an init constructor which accepts the name, and salary as arguments.
In Python, __init__ is one of the reserved methods. It is referred to as a constructor in object-oriented programming. When an object is created from the class and access is necessary to initialize the class's attributes, the __init__ function is called.
Initialize the values of instance attributes
Increment the employ count by 1
Create a function with the name displayCount which prints the total employee count.
Print the employ count by applying the (.) operator on the Employee class
Create another function with the name displayEmployee and print name and salary.
Create a child class with the name subEmployee which inherits properties from the parent Employee class
Use __doc__ class attribute, to print the Employee class with documentation
Use __name__ class attribute, to print the name of the Employee class
Use the __module__ class attribute, to print the module of the Employee class
Use __dict__ class attribute, to print the dictionary containing the Employee class namespace
Use the __bases__ class attribute, to print all the base classes for the derived class.
Example
# Creating a parent class with the name Employee class Employee: 'Common base class for all employees' # initiaizing the variable with 0 for storing the employ count empCount = 0 # init constructor which accepts the name, salary as arguments def __init__(self, name, salary): # Initialize the values of instance attributes self.name = name self.salary = salary # incrementing the employ count by 1 Employee.empCount += 1 # displayCount () which prints the total employ count def displayCount(self): print("Total Employee :",Employee.empCount) # creating another function i.e, displayEmployee def displayEmployee(self): print ("Name : ", self.name, ", Salary: ", self.salary) # creating child class with the name subEmployee inheriting properties # from the parent Employee class class subEmployee(Employee): 'Derived class for Base - Employee Class' # printing Employee class with documentation using __doc__ class attribute print("Employee class documentation using the __doc__ attribute:\n", Employee.__doc__) # printing the name of the Employee class using __name__ class attribute print("Name of the class using the __name__ attribute:\n", Employee.__name__) # printing the module of the Employee class using __module__ class attribute print("Module of the class using the __module__ attribute:\n", Employee.__module__) # printing the dictionary containing the Employee class namespace # using __dict__ class attribute print("Dictionary containing the Employee class namespace using the __dict__ attribute:\n", Employee.__dict__) # printing all the base classes for the derived class using __bases__ class attribute print("Base classes of subEmployee class using the __bases__ attribute:\n", subEmployee.__bases__)
Output
Employee class documentation using the __doc__ attribute: Common base class for all employees Name of the class using the __name__ attribute: Employee Module of the class using the __module__ attribute: __main__ Dictionary containing the Employee class namespace using the __dict__ attribute: {'__module__': '__main__', '__doc__': 'Common base class for all employees', 'empCount': 0, '__init__': <function Employee.__init__ at 0x7f9532090050>, 'displayCount': <function Employee.displayCount at 0x7f95320900e0>, 'displayEmployee': <function Employee.displayEmployee at 0x7f9532090170>, '__dict__': <attribute '__dict__' of 'Employee' objects>, '__weakref__': <attribute '__weakref__' of 'Employee' objects>} Base classes of subEmployee class using the __bases__ attribute: (<class '__main__.Employee'>,)
Conclusion
We learned all five built-in class attributes with an example from this article. We also demonstrated how these five built-in class attributes are used in practice by using two classes.