首页 > 解决方案 > 这个方法从其他类调用方法是否正确?

问题描述

我是python oops的新手。这种方法调用其他类的方法是否正确。代码如下所示

class Example():
    def function(self):
        print("foo")
class Example2():
    def function2:
        Example.function(Example)

标签: pythonclassoop

解决方案


不是,因为您定义的函数是一个实例方法。在这种情况下,正确的方法是:

class Example2():
    Example().function()

或者这个(可读性较差)

class Example2():
    Example.function(Example())

另一种选择,因为self从未在 中使用过function,所以将其定义为静态方法或类方法:

class Example():
    @staticmethod
    def function():
        print("foo")

然后你可以这样称呼它:

class Example2():
    Example.function()

注意:所有这些仅在定义期间运行,Example2因为它不在任何函数内部Example2


推荐阅读