Python 我正在通过lambda表达式创建一个函数,如下所示:-

Python 我正在通过lambda表达式创建一个函数,如下所示:-,python,lambda,wrapper,Python,Lambda,Wrapper,我正在通过lambda表达式创建一个函数,如下所示: f=lambda x,y:True if x!='' else False if y!='' else None 现在,当我通过传递字典值来使用这个函数时 inv_d={'B2BNo':'','B2CNo':B2B-0038} print(f(inv_d['B2BNo'],d['B2CNo']) 它抛出错误:- _io.TextIOWrapper' object is not callable 不确定我在这里做错了什么?我强烈反对将

我正在通过lambda表达式创建一个函数,如下所示:

f=lambda x,y:True if x!='' else False if y!=''  else None
现在,当我通过传递字典值来使用这个函数时

inv_d={'B2BNo':'','B2CNo':B2B-0038} 
print(f(inv_d['B2BNo'],d['B2CNo'])
它抛出错误:-

_io.TextIOWrapper' object is not callable

不确定我在这里做错了什么?

我强烈反对将函数作为lambda的在线赋值来编写。嵌套三元组也是一种巨大的代码气味。如果你写的话,写起来更容易,调试起来也更容易

定义f(x,y): 如果x:返回True 如果y:返回False 一无所获 以下方面应起作用:

inv_d = {'B2BNo':'',
         'B2CNo':'B2B-0038'}
print(f(inv_d['B2BNo'], inv_d['B2BNo']))
你的意思是通过
f(inv_d['B2BNo'],inv_d['B2CNo'])
?或者告诉我们什么是
d
。还要注意的是,你错过了一篇结语。