我在 python 中有一个类似于以下的函数:
def checkargs(*args):
if len(args) == 1:
x = args
y = something
elif len(args) == 2:
x, y = args
return x, y
当我只输入一个参数(一个字符串)时,x 作为一个元组出现。当我输入两个参数(两个字符串)时,x 和 y 作为字符串返回。如果我只输入一个参数,我怎样才能让 x 以字符串形式出现?
最佳答案
发生这种情况是因为 args
始终 是一个元组,即使您只输入一个参数也是如此。所以,当您这样做时:
x = args
这就像做:
x = ('abc',)
有两种(等价的)方法可以解决这个问题:显式分配 x
给元组的第一个元素:
x = args[0]
或通过分配给长度为 1 的元组来调用 x,y
分配使用的相同元组解包:
x, = args
关于python - 函数返回元组而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16683018/