Python staticmethod()

[python]staticmethod()[/python] are a special case of methods. Any functionality that belongs to a class, but doesn’t require the object is placed in the static method. Static methods are similar to class methods. The main difference is that a static method doesn’t receive any additional arguments.

Remember that, a static method doesn’t use the self variable and it is defined using a built-in function named staticmethod. Python has a handy syntax, called a decoder is used to make it easier to apply the [python]staticmethod[/python] function to the method function definition. It has the following syntax:

@staticmethod
def name(args...):
statements

Example:


class choice:
def __init__(self, subjects):
self.subjects=subjects
@staticmethod
def validate_subject(subjects):
if "C#" in subjects:
print("This book is not available now!")
else:
return True
subjects=["C", "C++", "C#", "Java", "Python"]
if all(choice.validate_subject(i) for i in subjects ):
ch=choice(subjects)
print("You have already kept this book!")