python - 函数返回元组而不是字符串

标签 python string function python-2.7 tuples

我在 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/

相关文章:

python - 函数命名空间概念(赋值前引用)

python - 在python中计算矩形的质心

java - 设置文本格式

python - 这段Python代码中需要 'or default'做什么?

java - 如何打印我的 Java 对象而不得到 "SomeType@2f92e0f4"?

.net - String.IndexOf(char) 真的比手动搜索慢吗?

PHP 为 mysql 交互创建函数还是每次都使用纯代码?

python - 为什么我的第二个函数没有返回任何内容?

python - 计算字典 pandas 列中的项目

python - 如何优化从 PyCBitmap 到 OpenCV 图像的转换