zoukankan      html  css  js  c++  java
  • 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++中是没有类方法着个概念的的

    -------------------

    coding:utf-8
    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();

    结果是:
    Python code
    Call static method foo1()

    Call class method foo2()
    cls.__name__ is  A


     

  • 相关阅读:
    初始mybatis
    Tomcat项目部署过程中的问题
    java基础之二维数组不定义列数
    java基础之二维数组-杨辉三角
    java基础之二维数组-杨辉三角
    java浮点运算的陷阱
    java浮点运算的陷阱
    java主函数参数传递args
    java主函数参数传递args
    java基本数据类型
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/2680566.html
Copyright © 2011-2022 走看看