变量位置和打印值

8 浏览
0 Comments

变量位置和打印值

def minimum (*n):
        print(n)
minimum(1)
minimum(1,2)
def func(*args):
     print(args)
values1 = (1,2)
values2 = ((1,2), (3,4))
func(values1)
func(values2)
OUTPUT:
(1,)
(1, 2)
((1, 2),)
(((1, 2), (3, 4)),)
Process finished with exit code 0

第一输出:我认为Python希望传递多个参数,所以在1后面有一个逗号(,)?

第二输出:现在Python看到传递了多个参数,而没有逗号。它将args存储为元组。

第三输出和第四输出:为什么即使我传递了2个元组,仍然有逗号?假设Python希望多个元组,像上面的例子一样?

帮我理解一下。

admin 更改状态以发布 2023年5月23日
0
0 Comments

在函数调用func(value2)中,你传递的是一个参数列表。应该用func(*value2)来传递。\n\nfunc(value2) --> func(((1, 2), (3, 4)))\n\nfunc(*value2) --> func((1, 2), (3, 4))

0
0 Comments

第一个输出中显示了一个逗号,因为如果没有逗号,1成为唯一的元素,(1)就只是一个整数(括号包含表达式1),(1,)用来区分元组和简单括号。

在第二个输出中,不需要尾随逗号来区分元组,因为有多个元素。

在第三个输出中,你并没有传递12,而是传递了整个(1,2),所以它只显示一个项(即(1,2))在一个元组中,并添加了一个额外的逗号。对于第四个输出也是一样:你传递了整个((1,2),(3,4))

0