首页  >  文章  >  后端开发  >  Python 函数中星号 (*) 字符的使用方式有哪些不同?

Python 函数中星号 (*) 字符的使用方式有哪些不同?

Susan Sarandon
Susan Sarandon原创
2024-11-09 12:10:02255浏览

What are the different ways the asterisk (*) character is used in Python functions?

Python 中星号 (*) 字符的含义是什么?

在 Python 中,星号 (*) 符号拥有唯一的

函数定义:

在函数定义中, 后跟一个标识符(例如,标识符)表示函数可以采用任意数量的位置参数。这些参数将被收集到一个名为标识符的元组中。

函数调用:

  • 也可以在函数调用中使用,以指定函数应解包其来自序列或字典的位置参数或关键字参数。

位置参数:

*args 捕获传递给函数的任何多余位置参数。这些参数作为元组存储在星号后指定的标识符中。

示例:

def sum_args(*nums):
    total = 0
    for num in nums:
        total += num
    return total

以下函数调用适用于上述定义:

sum_args(1, 2, 3)  # Returns 6
sum_args(1, 2, 3, 4, 5)  # Returns 15

关键字参数:

**kwargs 捕获传递给函数的任何多余关键字参数。这些参数作为字典存储在星号后指定的标识符中。

示例:

def print_info(**person):
    for key, value in person.items():
        print(f"{key}: {value}")

以下函数调用适用于上述定义:

print_info(name="John", age=30)  # Prints "name: John", "age: 30"
print_info(name="Mary", age=25, city="Boston")  # Prints "name: Mary", "age: 25", "city: Boston"

解包序列和字典:

  • 也可以在函数调用中使用,将元组或字典解包到函数参数中。

示例(解包元组):

def sum_nums(a, b, c):
    return a + b + c

args = (1, 2, 3)
sum_nums(*args)  # Returns 6

示例(解包字典):

def print_details(**details):
    print("Name:", details["name"])
    print("Age:", details["age"])

kwargs = {"name": "Bob", "age": 35}
print_details(**kwargs)  # Prints "Name: Bob", "Age: 35"

通过理解意义借助 Python 中星号 (*) 的功能,您可以在函数定义和调用中有效地使用位置参数和关键字参数。

以上是Python 函数中星号 (*) 字符的使用方式有哪些不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn