说明:
静态方法的本质任然是函数,只是把这个函数进行归类
在面向对象的思想中,整个过程,就是给对象和方法归类。
当某一函数需要调用,但却只有在某一个类中才需要用到的时候,我们可以给类定义一个静态方法来实现。
示例1(全局调用):
def plus(x, y):
return x+y
class Car:
pass
print(plus(1, 2))
我们发现,在全局调用的情况下,这个plus函数的运行已经不需要Car了。
Car是否使用plus并不影响程序的运行。
Car可以随时随地的对plus进行调用。
但我们在面向对象的过程中,要尽可能的把函数进行归类。
在面向对象的过程中,我们往往会遇到某一个函数仅且仅在一个内使用,我们就需要把它归到一个类内。
但是这个方法,既不属于类,也不属于对象。于是我们用@staticmethod把它定义为静态方法。
示例2(类内调用,静态方法)
class Car:
@staticmethod
def plus(x, y):
return x+y
c1 = Car()
print(c1.plus(1,2))
print(Car.plus(1,2))