实例方法、静态方法和类方法

python类包括三种方法:实例方法、静态方法和类方法。


1.实例方法在调用时需要类的实例(对象)。
2.静态方法在调用时不需要类的实例,可以用对象调用,也可用类调用;此外,静态方法不需要self参数。定义静态方法需要使用@staticmethod装饰器。
3.类方法的调用方式和静态方法完全一样,所不同的是,类方法与实例方法的定义方式相同,都需要一个参数占位(实例方法使用self,类方法使用cls)。定义类方法需要使用@classmethod装饰器。


class A:
    # 实例方法
    def instanceMethod(self):
        print('instanceMethod')

    # 静态方法
    @staticmethod
    def staticMethod():
        print('staticMethod')

    # 类方法
    @classmethod
    def classMethod(cls):
        print('classMethod')

a = A()
a.instanceMethod()
# A.instanceMethod()  # 抛出异常

a.staticMethod()
A.staticMethod()

a.classMethod()
A.classMethod()

实例方法、静态方法和类方法调用规则如下:
1.在实例方法中可以调用实例属性和类属性
2.在静态方法中不能访问任何属性
3.在类方法中只能访问类属性
4.实例方法不能被静态方法和类方法访问,但是静态方法和类方法可以被实例方法访问。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容