鱼C论坛

 找回密码
 立即注册
查看: 2084|回复: 5

[已解决]print()命令中的*作用

[复制链接]
发表于 2022-7-28 15:09:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random

red = random.sample(range(1, 34), 6)
blue = random.randint(1, 16)

print("开奖结果是:", *red)
print("特别号码是:", blue)
上面的这段代码里red前加*效果显示为:
开奖结果是: 16 10 23 27 2 24
不加*则为:
开奖结果是: [30, 20, 33, 12, 7, 5]
*的作用是去括号,这个作用是唯一的吗?
最佳答案
2022-7-28 15:27:56
minesunnyday 发表于 2022-7-28 15:23
那在上面的代码里面*是起第二项的作用么?

做用时将元组转化为位置参数,你可以试试这样
>>> a = (1, 2, 3)
>>> print(a)
(1, 2, 3)
>>> print(*a)
1 2 3
>>> print(1, 2, 3)
1 2 3
>>> 
你会发现第二个和第三个作用完全相同

类似的还有**
其作用时将字典变为关键字参数
QQ截图20220728150603.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-28 15:21:18 | 显示全部楼层
当然不是,还有一下功能
1,乘法符号
2,在函数中收集元素组成元组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-7-28 15:23:24 | 显示全部楼层
青出于蓝 发表于 2022-7-28 15:21
当然不是,还有一下功能
1,乘法符号
2,在函数中收集元素组成元组

那在上面的代码里面*是起第二项的作用么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-28 15:27:56 | 显示全部楼层    本楼为最佳答案   
minesunnyday 发表于 2022-7-28 15:23
那在上面的代码里面*是起第二项的作用么?

做用时将元组转化为位置参数,你可以试试这样
>>> a = (1, 2, 3)
>>> print(a)
(1, 2, 3)
>>> print(*a)
1 2 3
>>> print(1, 2, 3)
1 2 3
>>> 
你会发现第二个和第三个作用完全相同

类似的还有**
其作用时将字典变为关键字参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-28 15:28:20 | 显示全部楼层
minesunnyday 发表于 2022-7-28 15:23
那在上面的代码里面*是起第二项的作用么?

都不是,这里*是起到一个取处列表元素的作用
a=[1,2]
print(*a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2022-7-28 18:50:21 | 显示全部楼层
青出于蓝 发表于 2022-7-28 15:28
都不是,这里*是起到一个取处列表元素的作用

请问这是解包吗??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 08:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表