У меня есть код, как:Есть ли способ, чтобы получить доступ к классу методы, когда все у вас есть вызываемая
class Foo:
def foo(self):
pass
class Bar:
def foo(self):
pass
f = random.choice((Foo().foo, Bar().foo))
Как получить доступ к Bar
или Foo
от F?
f.__dict__
не имеет какой-либо помощи, но поскольку repr(f)
дает <bound method Bar.foo of <__main__.Bar object at 0x10c6eec18>>'
, это должно быть возможно, но как?
Nitpick: тип экземпляра не обязательно является классом, в котором определена функция; просто потому, что метод связан с экземпляром X, не означает, что функция не может быть определена в классе Y. Но при этом этот код, безусловно, даст правильный результат в 99,99% реальных сценариев. И в любом случае неясно, какой ожидаемый результат OP будет в таком случае 0,01%. –