8000 changing class variable using class and an instance. · ammarlodhi255/python-src@d8fcaaa · GitHub
[go: up one dir, main page]

Skip to content

Commit d8fcaaa

Browse files
committed
changing class variable using class and an instance.
1 parent 73d56f2 commit d8fcaaa

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

OOP/class_variables.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,32 @@ def show_num_of_chairs(self):
1515
print(Car.num_of_chairs) # Access class variable
1616

1717

18-
car = Car('blue', 'OP90', '190mph')
18+
car_1 = Car('blue', 'OP90', '190mph')
19+
car_2 = Car('brown', 'I8', '100mph')
1920
# Let us see the instance variable of this object:
20-
print(car.__dict__)
21+
print(car_1.__dict__)
2122

2223
print(Car.num_of_chairs)
2324
# The instance will first check whether it has the 'num_of_chairs; instance variable, then it checks whether it is a class variable
24-
print(car.num_of_chairs)
25+
print(car_1.num_of_chairs)
26+
print()
27+
28+
# Following is interesting:
29+
30+
# If we change num_of_chairs using the class:
31+
Car.num_of_chairs = 5
32+
33+
print(Car.num_of_chairs)
34+
print(car_1.num_of_chairs)
35+
print(car_2.num_of_chairs)
36+
print()
37+
38+
# But if I change using one of the instances:
39+
car_1.num_of_chairs = 4
40+
41+
print(Car.num_of_chairs)
42+
print(car_1.num_of_chairs)
43+
print(car_2.num_of_chairs)
44+
45+
# This is because the line 'car_1.num_of_chairs = 4' creates a new instance variable for the object car_1
46+
print(car_1.__dict__)

0 commit comments

Comments
 (0)
0