python - 如何从类本身实例化类的对象?

标签 python class oop

下面是我的代码的简化版本:

TestClass.py文件中:

class TestClass:

    def func1(self):
        pass

    def func2(self):
        HERE I WANT TO CALL func1

main.py 文件中:

TestClass1 = TestClass()
TestClass1.func2()

最初,我尝试通过以下方式从 func2 运行 func1(在 TestClass.py 中):

TestClass.func2()

但在这种情况下,我收到了以下错误消息:

TypeError: unbound method func1() must be called with TestClass instance as first argument (got str instance instead)

所以我理解这个问题的方式是,TestClass1 本身没有 TestClass1 实例,它只存在于主(调用)代码中。因此,为了解决这个问题,我在从 main.py 调用 func2 时传递了 TestClass 的实例:

TestClass.func2(TestClass1)

我已将它(类)添加到 func2 中作为相应的强制参数。 结果,它看起来工作正常。但我想确保这是一种可以接受的方法。

最佳答案

我不是Python专家,但似乎您需要使用self引用来调用func1func2,这是类似于java中的this

关于python - 如何从类本身实例化类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18121111/

相关文章:

oop - 对象内部的依赖关系

java - 从父类(super class)更新字段

android - Python Buildozer PyMySQL 无法连接

python - 自动创建变量并赋值

python - 编辑大型文本文件中的一行

php - PHP 中的类插件?

php - 如何创建一个循环来传递MySQL表中的空数据

python - 关闭上/右轴刻度线

php - 将函数分配给类的属性

java - 如何从另一个类中获取字符串?