A class is a user-defined blueprint or prototype from which objects are created. Classes provide a means of bundling data and functionality together. Creating a new class creates a new type of object, allowing new instances of that type to be made. Each class instance can have attributes attached to it for maintaining its state. Class instances can also have methods (defined by its class) for modifying its state.
Example:
# Python program to demonstrate # classes class Person: # init method or constructor def __init__( self , name): self .name = name # Sample Method def say_hi( self ): print ( 'Hello, my name is' , self .name) p = Person( 'Nikhil' ) p.say_hi() |
Output:
Hello, my name is Nikhil
Note: For more information, refer to Python Classes and Objects
Instance Method
Instance attributes are those attributes that are not shared by objects. Every object has its own copy of the instance attribute.
For example, consider a class shapes that have many objects like circle, square, triangle, etc. having its own attributes and methods. An instance attribute refers to the properties of that particular object like edge of the triangle being 3, while the edge of the square can be 4.
An instance method can access and even modify the value of attributes of an instance. It has one default parameter:-
- self – It is a keyword which points to the current passed instance. But it need not be passed every time while calling an instance method.
Example:
# Python program to demonstrate # instance methods class shape: # Calling Constructor def __init__( self , edge, color): self .edge = edge self .color = color # Instance Method def finEdges( self ): return self .edge # Instance Method def modifyEdges( self , newedge): self .edge = newedge # Driver Code circle = shape( 0 , 'red' ) square = shape( 4 , 'blue' ) # Calling Instance Method print ( "No. of edges for circle: " + str (circle.finEdges())) # Calling Instance Method square.modifyEdges( 6 ) print ( "No. of edges for square: " + str (square.finEdges())) |
Output
No. of edges for circle: 0 No. of edges for square: 6