首页 > 编程知识 正文

Python里星号什么意思

时间:2023-11-19 10:13:53 阅读:297181 作者:RSDZ

星号在Python里有多种含义和用法,下面将从不同的角度对其进行详细阐述。

一、参数解包

在函数定义或函数调用时,可以使用星号来进行参数解包。

# 参数解包示例
# 定义一个接收任意个参数的函数
def my_func(*args):
    for arg in args:
        print(arg)

# 调用函数时使用星号进行参数解包
my_func(1, 2, 3, 4)

在上面的示例中,星号*用于接收任意个参数,并将这些参数打包成一个元组。

二、可变参数

星号还可以用于定义函数时的可变参数,即可以接收不定数量的参数。

# 可变参数示例
def add(*nums):
    sum = 0
    for num in nums:
        sum += num
    return sum

print(add(1, 2, 3, 4))  # 输出10
print(add(1, 2, 3, 4, 5))  # 输出15

在上面的示例中,星号*用于定义可变参数nums,可以接收任意个数的参数,并将这些参数打包成一个元组。

三、可变关键字参数

除了可变参数,Python还支持可变关键字参数,这是指可以接收不定数量的关键字参数。

# 可变关键字参数示例
def print_info(**info):
    for key, value in info.items():
        print(key + ': ' + value)

print_info(name='Alice', age='18')  # 输出name: Alice, age: 18
print_info(city='Beijing', country='China')  # 输出city: Beijing, country: China

在上面的示例中,星号**用于定义可变关键字参数info,可以接收不定数量的关键字参数,并将这些参数打包成一个字典。

四、解构赋值

星号还可以用于解构赋值,这是一种快速、方便地将可迭代对象中的元素解包给多个变量的方法。

# 解构赋值示例
numbers = [1, 2, 3, 4, 5]
first, *middle, last = numbers
print(first)  # 输出1
print(middle)  # 输出[2, 3, 4]
print(last)  # 输出5

在上面的示例中,星号*用于解构赋值,将可迭代对象numbers中的第一个元素赋值给first,最后一个元素赋值给last,将剩余的元素赋值给middle

五、重复运算符

星号还可以用作重复运算符,表示重复一个字符串若干次。

# 重复运算符示例
string = 'abc'
result = string * 3
print(result)  # 输出'abcabcabc'

在上面的示例中,星号*用作重复运算符,将字符串'abc'重复3次。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。