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程序设计有所帮助。

相关文章

使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)

使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)

本文介绍了如何在pytorch下搭建AlexNet,使用了两种方法,一种是直接加载预训练模型,并根据自己的需要微调(将最后一层全连接层输出由1000改为10),另一种是手动搭建。 构建模...

Win7下搭建python开发环境图文教程(安装Python、pip、解释器)

Win7下搭建python开发环境图文教程(安装Python、pip、解释器)

安装Python 1.下载适合系统版本的Python 先到网址(http://www.python.org/getit/)下载适合自己windows的python版本,32位win7下载...

详解python之简单主机批量管理工具

详解python之简单主机批量管理工具

今天做了一个很简单的小项目,感受到了paramiko模块的强大,也深感自己Linux的功力不行~~ 一、需求 二、简单需求分析及流程图 需求很少,我就简单地说下: 1. 主机分...

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

代码: import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) fro...

pip matplotlib报错equired packages can not be built解决

pip安装matplotlib 在centos6.5 64bit上用pip安装matplotlib时候报错: * The following required packages ca...