在Python中,依据界说方式和用途的不同,能够将办法分类为实例办法、类办法和静态办法。下面来逐一解说这三种办法,并给出示例:
1. 实例办法
- 实例办法是类的默许办法类型。
- 它们的第一个参数总是表明当时目标的实例,习惯上命名为
self
。 - 实例办法能够拜访类内的特点和其他办法。
- 实例办法有必要经过一个类的实例来调用。
示例:
class MyClass:
def __init__(self, value):
self.value = value
def instance_method(self):
return 'value:', self.value
运用实例办法的例子:
obj = MyClass(10)
print(obj.instance_method()) # 拜访实例办法
2. 类办法
- 类办法经过
@classmethod
装修器界说。 - 它们的第一个参数总是表明类自身,习惯上命名为
cls
。 - 类办法能够拜访类变量或者创立类的实例。
- 类办法能够被类和类的一切实例调用。
示例:
class MyClass:
count = 0
@classmethod
def class_method(cls):
cls.count = 1
return cls.count
运用类办法的例子:
print(MyClass.class_method()) # 经过类调用
obj = MyClass()
print(obj.class_method()) # 经过实例调用
3. 静态办法
- 静态办法经过
@staticmethod
装修器界说。 - 静态办法不接受隐式的第一参数(即它们既不需求实例也不需求类作为参数)。
- 静态办法就像普通的函数,只是它们出于逻辑上的考虑被放在类的界说中。
- 静态办法能够被类和类的一切实例调用。
示例:
class MyClass:
@staticmethod
def static_method():
return 'static method called'
运用静态办法的例子:
print(MyClass.static_method()) # 经过类调用
obj = MyClass()
print(obj.static_method()) # 经过实例调用
总结
- 实例办法需求一个类的实例,并且能够拜访该实例的特点和办法。
- 类办法不需求类的实例,它的参数是类自身,能够拜访类变量和修正类状况。
- 静态办法既不需求类实例,也不需求类自身作为参数,首要用于在类界说内部包含一些逻辑上归于类的函数,但这些函数既不需求类也不需求类实例。