Static Class Variables in Python

Static class variables in Python are variables that are declared on the class level, not on per-instance variables. These static class variables cannot be changed once initialized. It lets you create global constants, which is useful for things like giving values that always have a universal name. Static class variables are specifically used to store such data. Static class variables can be placed at the top level of a module, or they can be placed inside methods and classes. Static class variables are a way of creating variables within your class that are shared by all instances of that class. They can help make your code more readable and help your class become easier to create and understand, while also allowing the values to be accessed easily.

For more articles related to this, visit Python Programming Tutorials.

Declaring static variables inside the class

In Python, static variables are variables that are declared inside a class module rather than in a method. Variables defined within this class cannot be directly accessed, but they can be called by the class where they are defined. A static variable is not only known as a static variable but also as a class variable. Objects cannot be modified their state because the variables belong to the class.

#naming  Class, don't forget " : ", to give justice to pythonic syntax
class site_name:
   #class attributes or static class variables
   host_name= 'Entechin'
   TLD_name = '.com'
print("hostname :", site_name.host_name)
print("TLDomain name :", site_name.TLD_name)
hostname : Entechin
TLDomain name : .com

Declaring static variables inside the method

The first thing we need to do is create a class called site_name. Creating a method “site” using the ‘def’ keyword. Inside this method printing the static variable. As a result, we can directly use the data attributes of the site() method by using the site_name class module. Lastly, printing the static variable for the object of the class site. Creating three static variables and printing their instance attributes by storing the results in the class object. Then use class object “site” with the instances respectively with the instances attributes. 

Objects representing instances of the class are called self-objects. By using the Python keyword “self”, we can access a class’ attributes and methods. 

class site_name:
   character = 0
   def __init__(self, name, TLD , niche):
       self.name = name
       self.TLD = TLD
       self .niche = niche
       site_name.character += 1
site=site_name('Entechin','.com','Education')
      
      
print(site.name)
print(site.TLD)
print(site.niche)     
Entechin
.com
Education

assessing a static variable inside a method

In this approach, a class variable or static class variables are declared inside the class and accessed within the defined module. Within the module the static variable can be used or called along with class modules like site_name.host_name, site_name is class and host_name is class variable. 

Within the method, using concatenation with the help of a class module with a class variable, we can print the static variable. 

However, to print the information used in a module or to print the static variables, it’s necessary to create an object for a class and store the class variable in the object class variable.

#naming  Class, don't forget " : ", to give justice to pythonic syntax
class site_name:
   #class attributes or static class variables
   host_name= 'Entechin'
   TLD_name = '.com'
  
   #define a method
   def site(self):
       #it returns the static variables by using class variables by class module
       return str('www.') + ' ' + site_name.host_name + site_name.TLD_name
   #printing a static variable
print("host_name :", site_name.host_name)
print("TLD_name :", site_name.TLD_name)
# creating an object for class "site_name"
url = site_name()
print("\nurl :", url.site())
host_name : Entechin
TLD_name : .com

url : www. Entechin.com

Conclusion 

On this page, we learned a different approach to accessing the class or static variable. The purpose of this post is to clarify some of the finer points of static variables in Python classes. It is important to be aware that Python has limitations that should be taken into consideration before implementing a static variable or method. For example, you can only access a static variable from within a class or within the class method.  

Leave a Comment

Your email address will not be published. Required fields are marked *