假设我有这个课:
class ClassA:
def __init__(self, callable):
self.name = "Hey!"
self.callable = callable
def call(self):
self.callable()
And I want to pass into callable
a function that can access name
:
def function_a():
print(f"{self.name}")
这样
a = ClassA(function_a)
a.call()
产生此:
Hey!
我应该怎么做?元分类?类装饰?还是我应该彻底改革我的体系结构,以使我不需要做这样的事情?
谢谢!
我想知道这是否有任何实际用途,但是您可以使用
这似乎是一个可怕的主意,但是你去了
如果希望函数能够使用self,则必须使其成为一种方法,如下所示:
或者,您可以将名称作为参数传递:
希望这可以帮助!