Skip to main content

Instance,Static and Class Methods in Python

                         


Instance Method

They are most widely used methods. Instance method receives the instance of the class as the first argument, which by convention is called self.


class Student:

  def __init__(self,name):
    self.name = name
  def printinfo(self):
    self.city = 'delhi'
    print('my name is {} and from {}'.format(self.name,self.city))
  def printcity(self):
    print('my city is 'self.city)


stud1 = Student('tom')
stud1.printinfo()


Output:

my name is tom and from delhi



class method

Class methods don't need self as an argument, but they do need a parameter called cls

This stands for class, and like self, gets automatically passed in by Python.

Class methods are created using the @classmethod decorator.


class Student:

  Studentcount = 10

  @classmethod
  def printcount(cls):
    print('class is having {} number of students'.format(cls.Studentcount))



Student.printcount()

Output:class is having 10 number of students



class Student:

  Studentcount = 0

  def __init__(self):
    Student.Studentcount += 1

  @classmethod
  def printcount(cls):
    print('class is having {} number of students'.format(cls.Studentcount))

stud1 = Student()
stud2 = Student()

Student.printcount()

class is having 2 number of students

Stud1.printcount() #using instance and calling class method

class is having 2 number of students





static method 

This type of method takes neither a self nor a cls parameter (but of course it’s free to accept an arbitrary number of other parameters).

Therefore a static method can neither modify object state nor class state. Static methods are restricted in what data they can access


class Student:
  
  @staticmethod
  def printname(x):
    print('student name is {}{}'.format(x))
  
  @staticmethod
  def printage(x):
    print('student age is {}{}'.format(x))



Student.printname('sam')

student name is Mr.sam

Comments

Popular posts from this blog

Exception Handling in Python

  Introduction   An error is an abnormal condition that results in unexpected behavior of a program. Common kinds of errors are syntax errors and logical errors. Syntax errors arise due to poor understanding of the language. Logical errors arise due to poor understanding of the problem and its solution.   Anomalies that occur at runtime are known as exceptions. Exceptions are of two types: synchronous exceptions and asynchronous exceptions. Synchronous exceptions are caused due to mistakes in the logic of the program and can be controlled. Asynchronous exceptions are caused due to hardware failure or operating system level failures and cannot be controlled.   Examples of synchronous exceptions are: divide by zero, array index out of bounds, etc.) . Examples of asynchronous exceptions are: out of memory error, memory overflow, memory underflow, disk failure, etc. Overview of errors and exceptions in Python is as follows:     Handling Exceptions   Flowch...

Architechture of Kubernetes

  Kubernetes Architecture and Components: It follows the client-server architecture, from a high level, a Kubernetes environment consists of a  control plane (master) , a  distributed storage system  for keeping the cluster state consistent ( etcd ), and a number of  cluster nodes (Kubelets). We will now explore the individual components of a standard Kubernetes cluster to understand the process in greater detail. What is Master Node in Kubernetes Architecture? The Kubernetes Master (Master Node) receives input from a CLI (Command-Line Interface) or UI (User Interface) via an API. These are the commands you provide to Kubernetes. You define pods, replica sets, and services that you want Kubernetes to maintain. For example, which container image to use, which ports to expose, and how many pod replicas to run. You also provide the parameters of the desired state for the application(s) running in that cluster. API Server: The  API Server  is the front-end...

Is-A and Has-A relationships in python

  In object-oriented programming, the concept of IS-A is a totally based on Inheritance, which can be of two types Class Inheritance or Interface Inheritance. It is just like saying "A is a B type of thing". For example, Apple is a Fruit, Car is a Vehicle etc. Inheritance is uni-directional. For example, House is a Building. But Building is not a House. #Is-A relationship --> By Inheritance class  A:    def   __init__ ( self ):      self .b= 10    def   mym1 ( self ):      print ( 'Parent method' ) class  B(A):    def   mym2 ( self ):      print ( 'Child method' ) d = B() d.mym1() #output: Parent method d.mym2() #output: Child method HAS-A Relationship:  Composition(HAS-A) simply mean the use of instance variables that are references to other objects. For example Maruti has Engine, or House has Bathroom. Let’s understand...