I've been using python from a while but and i've came across these terms but didn't find them where to use.I've been learning Java for a while,now suddenly all these python terms started to make a sense.
class Hello(object): """Understanding @staticmethod, @classmethod decorators""" @staticmethod def main(i): """ Using @staticmethod decorator.There is no self argument""" print(i) print("I'm inside main method which has @staticmethod decorator") @classmethod def func2(self,i): """ using @classmethod You need to provide a self argument """ print(i) print("I'm inside func2 method which has @classmethod decorator") def func3(self,i): print(i) print("I'm inside func3 method which has no decorator so to acess func3 I need to create an instance of Hello class to access the methods of Hello class") Hello.main(1) #didn't create any instanc of Hello class,yet able to access the methods Hello.func2(1) #Hello.func3(1) ==> This will be an error. General way to acess methods is to create an instance of object hello_object = Hello() # Created an instance of Hello class hello_object.func3(100) hello_object.func2(100) hello_object.main(100)
Learn python for fun.The popular blog with questions and answers to the python.Solutions to facebookhackercup,codejam,codechef.The fun way to learn python with me.Building some cool apps.
No comments:
Post a Comment