python的类方法和静态方法

yipeiwu_com6年前Python基础

本文实例讲述了python的类方法和静态方法。分享给大家供大家参考。具体分析如下:

python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?

python中实现静态方法和类方法都是依赖于python的修饰器来实现的。

复制代码 代码如下:
class MyClass:
 
    def  method(self):
           print("method")
 
    @staticmethod
    def  staticMethod():
            print("static method")
 
     @classmethod
     def classMethod(cls):
           print("class method")

大家注意到普通的对象方法、类方法和静态方法的去别了吗?
对象方法有self参数,类方法有cls参数,静态方法是不需要这些附加参数的。
在C++中是没有类方法着个概念的的

复制代码 代码如下:

class A(object):
    "This ia A Class"

    @staticmethod
    def Foo1():
        print("Call static method foo1()\n")

    @classmethod
    def Foo2(cls):
        print("Call class method foo2()")
        print("cls.__name__ is ",cls.__name__)

A.Foo1();
A.Foo2();

结果是:
Call static method foo1()

Call class method foo2()
cls.__name__ is  A

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python实现计算文件MD5和SHA1的方法示例

本文实例讲述了Python实现计算文件MD5和SHA1的方法。分享给大家供大家参考,具体如下: 不多说,直接源码: #file md5 import sys; import hash...

python ceiling divide 除法向上取整(或小数向上取整)的实例

向上取整的方法: 方法1: items = 102 boxsize = 10 num_boxes = (items + boxsize - 1) // boxsize 方法2:...

python 发送和接收ActiveMQ消息的实例

ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用...

python如何将两个txt文件内容合并

python如何将两个txt文件内容合并

本文实例为大家分享了python将两个txt文件内容合并的具体代码,供大家参考,具体内容如下 分析: 先分别将两个文件中的内容读入列表中,再将列表分割 把不同属性的数据放到单独的列表...

python中的字典使用分享

字典中的键使用时必须满足一下两个条件: 1、每个键只能对应一个项,也就是说,一键对应多个值时不允许的(列表、元组和其他字典的容器对象除外)。当有键发生冲突时(即字典键重复赋值),取最后的...