是否可以覆盖通行证?

时间:2019-09-24 20:16:18

标签: python

最近,我在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不止一次令我惊讶...

0 个答案:

没有答案