python tutorial - Class Variable | Changing Class Members in Python - learn python - python programming




In the previous fact, we have seen that Python doesn’t have static keyword. All variables that are assigned a value in class declaration are class variables

We should be careful when changing value of class variable. If we try to change class variable using object, a new instance (or non-static) variable for that particular object is created and this variable shadows the class variables. Below is Python program to demonstrate the same.

python - Sample - python code :

# Class for Computer Science Student
class CSStudent:
    stream = 'cse'     # Class Variable 
    def __init__(self, name, roll):
        self.name = name 
        self.roll = roll
 
# Driver program to test the functionality
# Creating objects of CSStudent class
a = CSStudent("Wiki", 1)
b = CSStudent("Techy", 2)
 
print "Initially"
print "a.stream =", a.stream
print "b.stream =", b.stream 
 
# This thing doesn't change class(static) variable
# Instead creates instance variable for the object
# 'a' that shadows class member.
a.stream = "ece"
 
print "\nAfter changing a.stream"
print "a.stream =", a.stream
print "b.stream =", b.stream

python tutorial - Output :

Initially
a.stream = cse
b.stream = cse

After changing a.stream
a.stream = ece
b.stream = cse

We should change class variables using class name only.

python - Sample - python code :

# Program to show how to make changes to the
# class variable in Python
 
# Class for Computer Science Student
class CSStudent:
    stream = 'cse'     # Class Variable 
    def __init__(self, name, roll):
        self.name = name 
        self.roll = roll
 
# New object for further implementation
a = CSStudent("check", 3)
print "a.tream =", a.stream
 
# Correct way to change the value of class variable
CSStudent.stream = "mec"
print "\nClass variable changes to mec"
 
# New object for further implementation
b = CSStudent("carter", 4)
 
print "\nValue of variable steam for each object"
print "a.stream =", a.stream
print "b.stream =", b.stream

Output:

a.tream = cse

Class variable changes to mec

Value of variable steam for each object
a.stream = mec
b.stream = mec

Wikitechy tutorial site provides you all the learn python , free python online course , best online course to learn python , learn how to program in python python training free

Related Searches to Changing Class Members in Python

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.

×