在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"
答案 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]中的第二个参数是返回的。否则它会被设置为假。