是否可以创建这样的结构,其中方法 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/