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