如何检查* args [0]是否存在?

时间:2017-07-24 19:51:46

标签: python args kwargs

在Python中,我如何检查* args [0]是否存在?

def my_fxn(self, *args):
    print(args[0])

my_fxn('ABC')  # this prints 'ABC'
my_fxn()       # this crashes with "IndexError: tuple index out of range"

3 个答案:

答案 0 :(得分:2)

如果您使用*args *args将成为元组(零,一个或多个元素)。如果元组包含至少一个元素,则元组的真实性为True。所以你可以简单地写一下:

def my_fxn(self, *args):
    if args:
        print(args[0])

答案 1 :(得分:0)

只需要确保存在args并且长度为1或更长。如果您正在寻找args [1] ... args [n]。

,则适用相同的逻辑
def my_fxn(self, *args):
    if args and len(args) > 0:
        print(args[0])

修改

如果您正在寻找len(args) > 0,则不需要Per Willem的评论args[0]

答案 2 :(得分:0)

另一种选择是:

def my_fxn(self, *args):
    arg0 = args and args[0] or False

不知道人们对这种类型的重载感觉如何,args和args [0]中的第二个参数是返回的。否则它会被设置为假。