如何解决Python:如何在方法外部定义指向方法内部方法的指针映射
我想使用类的一些方法,由参数指定。所以我用字典定义了一个指针映射。问题是 Python 不允许我在另一个方法(例如构造函数)之外定义它。所以我想知道是否可行。让我给你举个例子:
class clase():
mapa = { 1 : metodo1,2 : metodo2 }
def metodo(self,x):
self.mapa[x]()
def metodo1(self):
print("Metodo 1 ejecutado")
def metodo2(self):
print("Metodo 2 ejecutado")
objeto = clase()
objeto.metodo(2)
objeto.metodo(1)
这里的错误是“name 'metodo1' is not defined”;如果我使用其他声明:
class clase():
mapa = { 1 : self.metodo1,2 : self.metodo2 }
...
我怎么说,我可以在构造函数中定义地图。有用。但是我想知道在任何方法之外是否有任何方法可以做到这一点,因为我认为在代码维护期间我会更具可读性。
实现:
我证明在最后声明了地图:
class clase():
def metodo(self,x):
self.mapa[x]()
def metodo1(self):
print("Metodo 1 ejecutado")
def metodo2(self):
print("Metodo 2 ejecutado")
mapa = { 1 : metodo1,2 : metodo2 }
objeto = clase()
objeto.metodo(2)
但是我遇到了另一个错误:“metodo2() 缺少 1 个必需的位置参数:'self'”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。