Difference between @classmethod and a method in python -
this question has answer here:
what difference between @classmethod , 'classic' method in python,
when should use @classmethod , when should use 'classic' method in python. classmethod must method referred class (i mean it's method handle class) ?
and know difference between @staticmethod , classic method thx
let's assume have class car represents car entity within system.
a classmethod method works class car not on 1 of of car's instances. first parameter function decorated @classmethod, called cls, therefore class itself. example:
class car(object): colour = 'red' @classmethod def blue_cars(cls): # cls car class # return blue cars looping on cls instances a function acts on particular instance of class; first parameter called self instance itself:
def get_colour(self): return self.colour to sum up:
use
classmethodimplement methods work on whole class (and not on particular class instances):car.blue_cars()use instance methods implement methods work on particular instance:
my_car = car(colour='red') my_car.get_colour() # should return 'red'
Comments
Post a Comment