Python中的逗号有什么作用

Python038

Python中的逗号有什么作用,第1张

在Python中逗号通常用来分割一些相同类型的元素,比如参数。并不是一行语句的结束。但某些情况下它也有些特殊的情况,如下所示:

>>> a,b = 1,2

>>> a

1

>>> b

2

>>> c = (1, 2)

>>> c

(1, 2)

>>> d = 1,2,3,4

>>> d

(1, 2, 3, 4)

>>> print("haha",)

haha

>>> print('1'),print('2')

1

2

(None, None)

参考:刘江的Python教程

相当于为多个变量同时赋值

为 a b 同时赋值    a == 0   b == a

a = 10

b = 20

等价于:

a, b = 10, 20

这个问题你需要理解什么是元组

python中加逗号后是一个元组(tuple),比如 “a=0,1,2”,那么a就是包含三个元素0,1和2的元组,该元组的长度为三。而只有一个元素,并且加了逗号后,也是元组,比如“a=0,”,表示a是长度为1的元组。若没加逗号,则是单纯的赋值:“a=0”,表示a是整数0。

你发的代码中,*a表示的是函数的所有输入参数,这样写后,a就是输入参数的元组,本事就是一个元组,然后,返回的时候又加了个逗号,表示的也是包含a这个元组的元组

简单的说,你发的代码中,func里面返回值加逗号后,func(1,2,3)返回的是((1,2,3)),是长度为一,其中元素也是元组的元组,不加逗号,func(1,2,3)返回的是(1,2,3),是长度为三,元素为整数的元组。

遍历((1,2,3))获取的是一个元素:(1,2,3)

遍历(1,2,3)获取的是三个元素:1,2,3

你先从简单的来吧:

理解下这四个函数a代表的是什么,函数输入参数是什么,函数返回值又分别是什么

def func(a):

return a

def func(a):

return a,

def func(*a):

return a

def func(*a):

return a,

对于函数返回值l=func(???),你可以print(type(l))看看它是什么类型,也可以print(l)看看它是什么。