是否可以从另一个静态方法中调用一个静态方法

卢卡·阿梅里奥(Luca Amerio)

是否可以从另一个静态方法中调用静态方法?

我尝试了这个:

class MyClass(object):

    @staticmethod
    def static_method_1(x):
        x = static_method_2(x)
        print x

    @staticmethod
    def static_method_2(x):
        return 2*x

这返回

NameError: name 'static_method_2' is not defined
丹尼尔·罗斯曼

静态方法通过类调用MyClass.static_method_2(x)

您可能根本不需要静态方法,而只需要类方法。这些调用方法相同,但是获得了对该类的引用,然后可以使用该引用来调用其他方法。

class MyClass(object):

    @classmethod
    def static_method_1(cls, x):
        x = cls.static_method_2(x)
        print x

    @classmethod
    def static_method_2(cls, x):
        return 2*x

请注意,在Python中,您永远不会这样做。除非存储状态,否则通常没有理由拥有一个类。这些可能都是最好的独立功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP:是否可以从另一个静态类调用静态类方法?

从另一个非静态方法中调用非静态方法

如何从React中的另一个静态方法中调用一个静态方法?

静态方法-如何从另一个方法调用一个方法?

另一个类中的静态方法

是否可以在不使用类名的情况下调用另一个类的静态方法?

冲突的 Laravel 控制器 - 一个可以调用方法,另一个给出非静态错误

Swift:是否可以将另一个类的静态属性传递给方法?

从另一个类非静态地调用一个类和方法

为什么不从另一个类中调用一个类的静态方法“ main”?

如何在“静态主体”方法中调用另一个函数?

为什么我不能在另一个类中调用静态方法?

在另一个类库中调用静态方法

从另一个类调用静态方法而无需在 Java 中创建对象

一个非静态类如何调用另一个非静态类的方法?

PowerMockito模拟单个静态方法并在另一个静态方法中返回对象

从另一个类调用变量时,是否可以避免使用“静态”?

静态引用另一个类中的非静态方法

发送静态方法作为参数,并在Java中的另一个方法中进行一般调用

测试从同一类调用另一个的静态方法

是否可以从另一个调用一个jax-rs方法?

编写静态方法以从另一个类调用方法以从旧列表返回新列表

为什么一个静态变量的一个方法调用返回另一个静态变量保持为空初始化?

在 Pytest 中,如何检查一个方法是否是从另一个方法调用的?

是否可以从另一个类库中的静态类获取 ConnectionString?

从同一类的静态方法访问另一个方法中的变量

特性中的静态函数可以调用相同特性中的另一个静态函数吗?

c#是否可以在创建静态对象的同时将其传递给另一个对象的构造函数或方法

如何从一个活动调用非静态方法到另一个活动