LLLXW 发表于 2021-6-4 14:53:14

输出变量前面加*是什么意思啊 求大神解答

import random

ran=random.sample(range(1,34),6)
fak=random.randint(1,16)

print("开奖结果是:",*ran)   这个ran前面加了个*号是什么意思啊   如果不加输出两边少了这个括号【】
print("特别号码是:",fak)

逃兵 发表于 2021-6-4 14:58:09

*是解包
ran是一个列表
*ran就是列表中的每一个元素

ran =
print(ran)
print(*ran)

Twilight6 发表于 2021-6-4 16:05:06


在 * 后加上变量名,一般有两种情况:

第一种,定义函数的参数时候,表示参数可以传入无限个,并把所有的参数全放在一个元组内

举个例子:def func(*temp):
    print(temp)
    print(type(temp))

func(1,2,'鱼',4,'C','论坛')

输出结果:
(1, 2, '鱼', 4, 'C', '论坛')
<class 'tuple'>   # 类型是元组


另一种就是直接对变量名前面加上,表示解包,将容器内的所有元素都取出返回,下面这也就是你问的 * 的另一种情况

举个例子:

temp =
print(temp)
print(*temp)

输出结果:

1 2 鱼 4 C 论坛   # 解包后的结果
页: [1]
查看完整版本: 输出变量前面加*是什么意思啊 求大神解答