使用 * 操作符在 Python 函数中展开可迭代对象作为函数参数

2023-03-30 00:00:00 函数 对象 展开

当我们在 Python 函数中使用 * 操作符来展开可迭代对象时,它会将可迭代对象中的元素作为函数的独立参数进行传递。

下面是一个示例代码:

def concatenate_strings(*args):
    result = ''
    for arg in args:
        result += arg
    return result

values = ['pidan', 'code', '.com']
print(concatenate_strings(*values))  # 输出 "pidancode.com"

characters = ('皮', '蛋', '编', '程')
print(concatenate_strings(*characters))  # 输出 "皮蛋编程"

在上面的示例代码中,我们定义了一个 concatenate_strings() 函数,它接收任意多个参数并将它们连接成一个字符串。接着,我们分别定义了一个列表 values 和一个元组 characters,并分别传递给 concatenate_strings() 函数。使用 * 操作符,将可迭代对象 values 和 characters 中的元素解包并作为独立参数传递给函数。

需要注意的是,使用 * 操作符展开可迭代对象时,可迭代对象中的元素顺序会被保留,且展开后的参数个数要与函数定义中的参数个数一致。如果展开后的参数个数与函数定义中的参数个数不一致,将会导致 TypeError 错误。

相关文章