python - 从类中的另一个静态方法函数调用函数

标签 python class oop

我有以下代码,我想从 cool_function() 调用 somefunc()

class MyKlass:

    # This function is to be internally called only
    def somefunc(self,text):
        return (text + "_NEW")

    @staticmethod
    def cool_function(ixdirname, ixname):
        tmp = self.somefunc(ixname)
        print ixdirname, ixname, tmp
        return


tmp = MyKlass.cool_function("FOODIR","FOO")

我希望它打印出来的结果是:

FOODIR, FOO, FOO_NEW

有什么方法可以做到吗? 目前它打印的是:

    tmp = self.somefunc(ixname)
NameError: global name 'self' is not defined

最佳答案

您可能想要这样做:

class MyClass:
    @staticmethod
    def somefunc(text):
        return text + '_NEW'
    @staticmethod
    def cool_function(ixdirname, ixname):
        tmp = MyClass.somefunc(ixname)
        print((ixdirname, ixname, tmp))
        return

MyClass.cool_function('FOODIR', 'FOO')

关于python - 从类中的另一个静态方法函数调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23945555/

相关文章:

python - 使用多处理时 cv2.Boost 的 Pickle 异常

C++ 确定哪个子类正在调用父函数

ruby - 如何访问ruby中的幽灵父类?

python - 在循环或 if 语句中实例化类在编程上是否正确?

python - pywinauto:如何选择这个对话框?使用哪种 spy 工具?我需要什么信息?

python - 使用 Python Selenium 在内存中下载文件,而不是在磁盘中

python - 尝试创建一个仅包含唯一数字的排序列表

c++ - 在 C++ 中使用 shared_ptr 从公共(public)静态成员函数访问私有(private)构造函数

php - 了解 IoC 容器和依赖注入(inject)

java - 私有(private)成员不被继承。那么 getter 和 setter 如何访问子类中的私有(private)字段呢?