在Python中,如何檢查* args [0]是否存在?如何檢查* 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"
在Python中,如何檢查* args [0]是否存在?如何檢查* 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"
如果您使用*args
,*args
將是一個元組(零個,一個或多個元素)。一個元組的真實性是True
如果它包含至少有一個元素。所以,你可以簡單的寫:
def my_fxn(self, *args):
if args:
print(args[0])
只需確保參數的存在和長度爲1或更多。如果您正在尋找參數[1] ... args [n],則同樣的邏輯適用。
def my_fxn(self, *args):
if args and len(args) > 0:
print(args[0])
編輯:如果你正在尋找args[0]
每威廉的評論len(args) > 0
是不必要的。
另一種選擇是:
def my_fxn(self, *args):
arg0 = args and args[0] or False
說不上來的人如何看待這種類型的過載,雖然,第二個參數在args和args [0]是一個返回。否則它被設置爲false。
你可以放下'len(args)> 0'。如果集合至少包含一個元素,則集合的真實性爲True。 –