第013讲第5题
5. x, y, z = 1, 2, 3 请问x, y, z是元组吗?所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组,自己在IDLE中键入以下代码,并体会一下:
>>> x, y, z = 1, 2, 3
>>> type(x) #返回<class 'int'>
>>> h = x, y, z
>>> type(h)#返回<class 'tuple'>
想请问一下,什么叫做没有明确用符号定义的,没有理解这道题的解释,那为什么,x , y , z 不是元组呢? x,y,z是分别赋值,等同于:
x = 1
y = 2
z = 3 本帖最后由 liuzhengyuan 于 2020-4-12 10:12 编辑
x, y, z = 1, 2, 3
这个是每个赋值 ,等于
x = 1
y = 2
z = 3
这个是元组
h = x, y, z
等式两边都是元组,就是分别赋值
如果 左边是 单个变量,右边是元组,就是元组赋值 本帖最后由 coolsummer2080 于 2020-4-12 09:30 编辑
>>> h = (1, 2, 3)
>>> type(h)
<class 'tuple'>
类似以上的赋值 ,赋值号右边已经明确说明是元组。而以下就没有明确说明,但Python将其解释成元组。
>>> h = 1, 2, 3
>>> type(h)
<class 'tuple'>
也就是赋值后右边是一个元组,如果左边是一个变量,将元组赋给变量,这好理解 。
如果右左边是多个变量,这牵涉到序列解包的概念,也就是右边是一个含有多个值的包(如元组),将这个包解开,将其每个元素按顺序赋值给在边的多个变量。如下:
x, y, z = 1, 2, 3
实际上赋值号右边是一个元组,解包到x, y, z上。
如果我回答的对,{:5_109:}给个最佳答案呗!{:5_101:}
页:
[1]