检查传递给函数的关键字参数的真实性无法按预期工作 - 为什么? [重复]

问题描述 投票:0回答:1

我知道如何检查我键入的 **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' in kwargs == True
行替换为
if 'extraarg' == True:
,但输出仍然缺少
This is not printed

python python-3.x function keyword-argument
1个回答
-1
投票
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")



if __name__ == "__main__":

    examplefunc(3,2,extraarg=True) 

输出:

True
True
This is not printed
This is printed
© www.soinside.com 2019 - 2024. All rights reserved.