Python-进阶-class

class中的function类型

在Python中,存在三种不同的方法类型:静态方法、类方法和实例方法。每一种都有不同的特点,应该在不同的情况下使用。

静态方法(Static Methods)

Python 中的静态方法必须通过用 @staticmethod 修饰来创建。这让 Python 知道该方法应该是静态的。
静态方法的主要特点是无需实例化类即可调用它们。这些方法是独立的,这意味着它们无法访问该类中的任何其他属性或调用任何其他方法。适用于不需要类中的其他信息(attribute 或function)可以独立完成功能的场景。

例如,如果您有一个名为 Math 的类,并且有一个名为 factorial 的方法,那么您可能不需要特定的实例来调用该方法。因此,您可以使用静态方法。

1
2
3
4
5
6
7
8
9
10
class Math:
@staticmethod
def factorial(number):
if number == 0:
return 1
else:
return number * MethodTypes.factorial(number - 1)

factorial = MethodTypes.factorial(5)
print(factorial)

类方法(Class Method)

类方法必须使用装饰器 @classmethod 创建,并且这些方法与静态方法共享一个特征,无需实例化类,即可以在没有类实例的情况下调用它们。差异取决于访问其他方法和类属性不访问实例属性的能力

实例方法(Instance Methods)

仅当类已实​​例化时才能调用此方法。一旦创建了该类的对象,就可以调用实例方法,并可以通过保留字self访问该类的所有属性。实例方法能够创建、获取和设置新的实例属性以及调用其他实例、类和静态方法。

-------------本文结束感谢您的阅读-------------