【发布时间】:2019-03-01 00:25:19
【问题描述】:
我知道 how to check 如果我键入 **kwargs 存在。现在我想检查传递给函数的参数的值。
def examplefunc(x,y,**kwargs):
print(kwargs['extraarg'])
if 'extraarg' in kwargs == True:
print(kwargs['extraarg'])
print("This is not printed")
if 'extraarg' in kwargs: print("This is printed")
examplefunc(3,2,extraarg=True)
输出:
是的
这是打印出来的
为什么不打印This is not printed? 'extraarg' in kwargs 是假的。那么为什么要继续打印This is printed?
我也尝试用if 'extraarg' == True: 替换行if 'extraarg' in kwargs == True,但输出仍然缺少This is not printed。
【问题讨论】:
-
链接运算符比较...尝试不使用
==True或类似if '(extraarg' in kwargs) == True -
@Jean-FrançoisFabre 你的意思是试试
if ('extraarg' in kwargs)==True? -
是的,在给我的 expr 加上括号时打错了,但是是的。但只需删除
==True这只是多余的,你永远不会遇到问题!
标签: python python-3.x function keyword-argument