python类的方法与普通的方法 静态方法有什么作用

这篇文章主要介绍了python类的方法与普通的方法 类方法和实例方法(@classmethod)静态方法(@staticmethod),结合实例形式分析了python类的方法与普通的方法 类方法和实例方法及静态方法相关原理、用法及相关操作注意事项,需要的朋友可以参考下

本文实例讲述了python类的方法与普通的方法 类方法和实例方法(@classmethod),静态方法(@staticmethod)分享给大家供大家参考,具体洳下:

 # 使用赋值语句定义类属性记录所有实例化工具对象的数量
 # @classmethod 定义类方法. 第一个参数是cls (cls用于访问类属性和类方法,不能访问实例属性/方法)
 # 类名.类属性名 访问类属性(实例方法中)
# 类名.类方法 调用类方法
 # @staticmethod 定义静态方法;静态方法内部不能访问类属性/方法和实例属性/方法。不需要传默认参数
 # python类的方法与普通的方法中的静态方法与在类外部定义的普通函数作用相同,只是表明该函数仅供该类使用
 # 不能访问实例属性/類属性
# 类名.静态方法名 调用静态方法,不需要创建对象 (也可以通过实例对象调用)


更多关于python类的方法与普通的方法相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》

希望本文所述对大家python类的方法与普通的方法程序设计有所帮助。

}

静态方法装饰器下定义的方法属於函数(function);

类方法装饰器下定义的方法属于方法(method);

静态方法无需传入任何参数;

类方法传入的第一个参数必须是class本身cls;

静态方法与類方法一旦被调用内存地址即确定。通过类调用和通过实例化对象调用的结果完全一样

普通方法传入的第一个参数必须是self(当然也可鉯不用self,官方要求尽量用self)self是指实例对象本身;静态方法无需传参;

类方法传入的第一个参数必须是class,是指类本身

fun1通过class调用时,它是未绑定的方法而实例化apple和apple1之后,它属于绑定的方法且实例化后的apple和apple1内存地址不同,因为它们属于不同的实例对象

对比结果2,610行

静態方法fun2通过class调用或者通过实例化后的对象调用,是没有任何区别的全部都是指向同一块内存地址。可以简单的理解成静态方法与类或者實例没有任何关系一旦调用后,它的内存地址即确定

对比结果3,711行

类方法fun3通过class调用或者通过实例化后的对象调用,是没有任何区别嘚全部都是指向同一块内存地址。为什么因为实例化对象apple和apple1调用类方法fun3传入的第一个参数是类本身Apple,也就是说apple.fun3 = apple1.fun3 = Apple.fun3

}

我要回帖

更多关于 python类的方法与普通的方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信