首页 > 解决方案 > 是否可以覆盖通行证?

问题描述

最近我在 tkinter 中编写了一个 UI,在向同事展示时,他们似乎总是尝试仍然包含关键字的方法pass

如您所知,这意味着该方法尚未实现,也没有发生任何事情......

为了防止出现明显未编写代码的问题,我开始添加一个小消息框:

from tkinter.messagebox import showinfo

def example_method():
    showinfo("Not Supported!", "This feature is not implemented yet.\n"
                                                   "It will be added in a later version.")

虽然这确实有效,但我开始考虑更好的解决方案,而无需过多地重新格式化代码。在这个过程中,我偶然发现了一个建议只使用(lambda-)函数的解决方案。

虽然我最终选择了这个解决方案,但我只是想知道是否有可能覆盖关键字pass以更改其行为以调用我自己的方法。这需要对现有代码进行很少的重新格式化。

一个例子来澄清我的意思:

from tkinter.messagebox import showinfo

def __pass__(): # Overrides pass behaviour
    showinfo("Not Supported!", "This feature is not implemented yet.\n"
                                               "It will be added in a later version.")
def unimplemented_method():
    pass

注意:我问这个听起来可能很愚蠢的问题的原因是因为 Python 是一种非常可定制的语言,它还允许我覆盖操作符行为。我已经对此表示怀疑,但 Python 不止一次让我感到惊讶……

标签: python

解决方案


推荐阅读