`

python静态方法和类方法

 
阅读更多
class TestStaticMethod:
    def foo():
        print 'calling static method foo()'

    foo = staticmethod(foo)

class TestClassMethod:
    def foo(a):
        print 'calling class method foo()'
        print 'foo is part of class:',a.__name__

    foo = classmethod(foo)

        
class TestStaticMethod:
    @staticmethod
    def foo():
        print 'calling static method foo()'

class TestClassMethod:
    @classmethod
    def foo(a):
        print 'calling class method foo()'
        print 'foo is part of class:',a.__name__

>>> TestStaticMethod.foo()
calling static method foo()
>>> tsm = TestStaticMethod()
>>> tsm.foo()
calling static method foo()
>>> tcm = TestClassMethod()
>>> tcm.foo()
calling class method foo()
foo is part of class: TestClassMethod
>>> ================================ RESTART ================================
>>> 
>>> tcm = TestClassMethod()
>>> tcm.foo()
calling class method foo()
foo is part of class: TestClassMethod
分享到:
评论

相关推荐

    Python 静态方法和类方法实例分析

    在Python面向对象编程中,类方法和静态方法是两种特殊的方法,它们在使用上有各自的特点,同时也有别于实例方法。要了解类方法和静态方法,首先需要理解类属性和实例属性的概念。 类属性是属于类本身的属性,它被这...

    详解Python中的静态方法与类成员方法

    在Python编程语言中,类的方法有两种特殊的形式:静态方法(Static Method)和类成员方法(Class Method)。这两种方法在设计模式、类的设计以及代码复用方面发挥着重要作用。本文将通过具体的代码示例,详细介绍这...

    【Python入门基础】静态方法与类方法

    何时定义静态方法和类方法:当你的某个函数与其它函数没有任何关系,就可以定义,静态方法和类方法只是为了方便调用,不需要创建实例,直接类名.函数名就可以调用。 静态方法 静态方法为类所有,可以通过对象来使用...

    Python实例方法、类方法、静态方法的区别与作用详解

     定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);  调用:只能由实例对象调用。 类方法  定义:使用装饰器@classmethod。第一个参数...

    深入Python类:静态方法与类方法的较量

    - 类方法可以访问类的属性和方法。 - 类方法通常用于创建实例或修改类的状态。 **示例代码:** ```python class Person: count = 0 def __init__(self, name): self.name = name @classmethod def create_...

    Python类方法和静态方法.docx

    Python类方法和静态方法

    Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

    在Python编程语言中,类方法、实例方法和静态方法是面向对象编程的重要组成部分。它们各自有不同的用途和调用方式,帮助我们更好地组织和管理代码。接下来我们将深入探讨这些概念及其用法。 首先,实例方法是类中最...

    python实现静态方法工具类

    在这个文件中,可以像 Java 中的静态方法一样,定义函数或类方法,只需在函数名或方法名前加上 @staticmethod 或者不加,即可定义成静态方法,无需实例化相关对象即可直接调用。 在 Python 中,可以使用模块(Module...

    Python程序基础:类方法和静态方法.pptx

    类方法和静态方法;类方法是类所拥有的方法,需要用修饰器“@classmethod”来标识其为类方法。对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(同self一样只是一个习惯),能够通过对象名调用类方法,...

    python类和函数中使用静态变量的方法

    在Python编程语言中,类和函数的静态变量通常是指那些在多次调用中保持其值不变的变量。静态变量在其他面向对象的语言如Java或C#中比较常见,但在Python中,由于其动态特性的存在,实现静态变量的方式稍有不同。本篇...

    python中的对象方法、类方法、静态方法.pdf

    Python中的方法分为三种类型:对象方法、类方法和静态方法。这些方法在定义和调用时各有不同,分别承担着不同的职责和功能。下面将详细介绍这三种方法的区别和使用场景。 对象方法: 对象方法是类中最常见的方法...

    python(静态方法、类方法、属性方法)_.pptx

    面向对象的三大特性是指:封装、继承和多态。 Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象

    浅谈python 类方法/静态方法

    静态方法不接收`cls`参数,也不直接与类或实例的属性和方法交互。它们通常用于封装一些通用功能,这些功能不需要访问类或实例的状态。 示例: ```python class Student: @staticmethod def add(a, b): return a ...

    浅谈python中的实例方法、类方法和静态方法

    Python中的实例方法、类方法和静态方法是面向对象编程中的核心概念,它们各自有不同的作用和使用场景。在Python中,这三个方法类型可以帮助我们更好地组织和管理类的行为。 1. **实例方法**: - 实例方法是与类的...

    Python3.0中普通方法、类方法和静态方法的比较

    刚接触Python中的面向对象,对于类方法和静态方法难以区分,通过查找知乎、CSDN论坛,废了好大的劲思路才逐渐明朗,所以就总结顺便分享一下。 首先开始编辑代码 # 普通方法、类方法、静态方法的比较 # 普通方法、...

    python 类的继承 实例方法.静态方法.类方法的代码解析

    在Python中,一个类可以继承自另一个类,从而获取父类的所有属性和方法。这样可以实现代码的复用和模块化。在上述代码中,`main` 类继承自 `Denglu` 类,因此 `main` 类不仅拥有自己的方法(如 `show` 和 `din`),...

    Python 调用 C# 静态方法,非静态方法,传参

    在本场景中,我们将探讨如何使用 Python 调用 C# 的静态与非静态方法,并传递参数,以及如何处理返回的 `DataSet` 对象。我们将主要关注以下几点: 1. **Python 调用 C# 静态方法** - 在 C# 中,静态方法属于类...

    解析python 类方法、对象方法、静态方法

    Python中的类方法、对象方法和静态方法是面向对象编程中的重要概念,它们分别有不同的作用和使用场景。在Python中,这些方法都是通过修饰器(decorator)来实现的。 1. 对象方法(Instance Method) 对象方法是与...

Global site tag (gtag.js) - Google Analytics