Python调用类函数作为其他类属性

标签 python function class attributes

是否可以创建这样的结构,其中方法 foo一个类A用于设置另一个类的属性值 B 。那么这个方法应该在 A 的实例上调用无需调用A.foo()直接。

class A:
    def foo(self):
        print("Hello")

class B:
    def __init__(self):
        self.func = A.foo
    
    def bar(self):
        obj = A()
        obj.self.func()

我的用例是在 __init__() 中方法B A的不同功能可以选择设置属性的值 self.func通过if-else陈述;这是因为直接调用 A 类的方法是不可能的,因为不清楚会选择哪一个。

最佳答案

在这种情况下,您可以显式传递实例:

class A:
    def foo(self):
        print("Hallo")

class B:
    def __init__(self):
        self.func = A.foo
    
    def bar(self):
        obj = A()
        self.func(obj)

关于Python调用类函数作为其他类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77001865/

相关文章:

Java 编译器 super() 构造函数将军

java - 如何使用线程运行类的方法

python - 来自执行程序的 PySpark 日志记录

swift - 有一段代码涉及到Delegate Up,希望我理解正确

python - celery flask --- 错误 : [Errno 111] Connection refused

javascript - 获取谷歌地图中已创建标记的位置(纬度,经度)

javascript - 获取对象内部的函数名称

javascript - 更改函数以接受多个参数

python - 自动导入模块

python - Flask,在 View 之间传递用户输入的数据