Class attributes are the variables defined directly in the class that are shared by all objects of the class.
Instance attributes are attributes or properties attached to an instance of a class. Instance attributes are defined in the constructor.
The following table lists the difference between class attribute and instance attribute:
|Class Attribute||Instance Attribute|
|Defined directly inside a class.||
Defined inside a constructor using the
|Shared across all objects.||Specific to object.|
Accessed using class name as well as using object with dot notation, e.g.
Accessed using object dot notation e.g.
|Changing value by using
||Changing value of instance attribute will not be reflected to other objects.|
The following example demonstrates the use of class attribute
class Student: count = 0 def __init__(self): Student.count += 1
In the above example,
count is an attribute in the Student class.
Whenever a new object is created, the value of
count is incremented by 1.
You can now access the
count attribute after creating the objects, as shown below.
>>> std1=Student() >>> Student.count 1 >>> std2 = Student() >>> Student.count 2
The following demonstrates the instance attributes.
class Student: def __init__(self, name, age): self.name = name self.age = age
Now, you can specify the values while creating an instance, as shown below.
>>> std = Student('Bill',25) >>> std.name 'Bill' >>> std.age 25 >>> std.name = 'Steve' >>> std.age = 45 >>> std.name 'Steve' >>> std.age 45
Visit Python Class for more information.
- Compare strings in Python
- Convert file data to list
- Convert User Input to a Number
- Convert String to Datetime in Python
- How to call external commands in Python?
- How to count the occurrences of a list item?
- How to flatten list in Python?
- How to merge dictionaries in Python?
- How to pass value by reference in Python?
- Remove duplicate items from list in Python
- Remove items from a list in Python
- repr() vs str() in Python
- How to sort dictionary by value in Python?
- globals() and locals() Method in Python