I know there are alternatives to call the functions without classmethod director? But what is the advantage apart from calling it with class argument?
Using the classmethod decorator It act's like an alternate constructor. 
althought it'll still need to use the arguments needed for your __init__ you can do other stuff in it. for simplicity's sake. It's like another __init__ method for your class.
Where do we use python class method decorator?