gpt4 book ai didi

python - 传递 bool 条件作为参数

转载 作者:太空狗 更新时间:2023-10-30 02:35:11 24 4
gpt4 key购买 nike

我有这些

def MsgBox1_YesChosen(sender,e):
if e.Key != "A": function0()
else:
function1()
function2()
function3()

def MsgBox1_NoChosen(sender,e):
if e.Key == "A": function0()
else:
function1()
function2()
function3()

两个def可以合并在一起吗?它们之间唯一的区别是 "==", "!="

最佳答案

是的,以一种非常普遍的方式 - 您只需要围绕以下事实进行思考:(1) 函数是一流的值,(2) 运算符只是具有特殊句法处理的函数。例如:

def make_handler(predicate)
def handler(sender, e):
if predicate(e.Key, 'A'):
function0()
else:
function1()
function2()
function3()
return handler

像这样使用(在导入 operator 之后 - 您可以使用 lambda 执行此操作,但对于运算符而言,operator 模块是更简洁的解决方案)MsgBox1_YesChosen = make_handler(operator.ne)(顺便说一句,这是一个可怕的名字)。

关于python - 传递 bool 条件作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com