*args、**kwargs、zip

*号的用法

  • 函数参数中的打包与解包
#使用 *args 将多个位置参数打包为元组。
def sum_numbers(*args):
    return sum(args)

print(sum_numbers(1, 2, 3))  # 输出 6
#使用 * 将列表/元组解包为单个参数。
numbers = [1, 2, 3]
print(sum_numbers(*numbers))  # 输出 6
  • 扩展的可迭代对象解包
a, *b, c = [1, 2, 3, 4, 5]
print(a)  # 1
print(b)  # [2, 3, 4]
print(c)  # 5

**的用法

**kwargs 是一个用于函数参数的语法,表示关键字参数打包,作用是将传入的 关键字参数(key=value 形式)收集到一个字典(dict)中。

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")
#将关键字进行打包
print_info(name="Alice", age=25, city="New York")

#将字典解包
def greet(name, message):
    print(f"{message}, {name}!")

data = {"name": "Bob", "message": "Hello"}
greet(**data)  # 等效于 greet(name="Bob", message="Hello")

zip的用法

zip() 用于将多个可迭代对象(如列表、元组等)的元素按位置配对,返回一个 zip 对象(迭代器)

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

zipped =list(zip(names, ages)) 
print(zipped)#[('Alice', 25), ('Bob', 30), ('Charlie', 35)]

dict_zip=dict(zipped)
print(dict_zip)#{'Alice': 25, 'Bob': 30, 'Charlie': 35}
posted @ 2025-03-27 08:29  CodeCraftsMan  阅读(31)  评论(0)    收藏  举报