当我今天阅读Python文档时,我发现Expression lists
在Python文档中,网站上的描述如下:
expression_list ::= expression ( "," expression )* [","]
包含至少一个逗号的表达式列表产生一个元组.元组的长度是列表中表达式的数量.表达式从左到右进行评估.
尾随逗号只需要创建一个元组(也就是单个元素); 在所有其他情况下它是可选的.没有尾随逗号的单个表达式不会创建元组,而是生成该表达式的值.(要创建一个空元组,请使用一对空括号:().)
因为这些示例没有在网站上给出,所以我只是想知道任何人都可以对此进行简要描述,并举例说明其用法.非常感谢.
以下是一些示例,可帮助您了解发生的情况:
包含至少一个逗号的表达式列表产生一个元组.
这意味着,如果你有1,2
,这将创建一个元组.长度是您拥有的物品数量.
尾随逗号只需要创建一个元组(也就是单个元素); 在所有其他情况下它是可选的.
这意味着如果你想创建一个带有一个项目的元组,你需要在最后有一个逗号,如下所示1,
,否则:
没有尾随逗号的单个表达式不会创建元组,而是生成该表达式的值.
所以1
不是创建一个元组,将会发生什么样的快递将被评估.这听起来像是一个明显的观点,但是如果你编写(1)
它然后期望它被评估为tupe(在这种情况下(1)
,它将被评估为整数值1
)是有意义的.
最后
(要创建一个空元组,请使用一对空括号:().)
如果由于某种原因您想要将空元组创建为表达式,请使用以下特殊语法 ()
使用()包围表达式(特别是在元组的情况下)是一种常见的做法,但这不是必需的 - 尽管有时它有助于提高可读性. 1,2
并且(1,2)
是平等的:
>>> a = 1,2
>>> type(a)
<type 'tuple'>
>>> b = (1,2)
>>> type(b)
<type 'tuple'>
>>> a == b
True
Run Code Online (Sandbox Code Playgroud)
这讨论了如何编写元组。
例如,
>>> 1, 2
(1, 2)
Run Code Online (Sandbox Code Playgroud)
是一个二元素元组,原样
>>> 7*8, 5-6
(56, -1)
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,元组通常用括号括起来,但它们是不必要的;除了 0 元素元组,()
.
单元素元组是另一个例外,因为必须使用逗号:
>>> 1,
(1, )
Run Code Online (Sandbox Code Playgroud)
如果没有逗号,就无法将其与正常数字区分开来1
。您也可以在多元素元组后添加一个额外的逗号,但在这种情况下它不会做任何事情:
>>> 1, 2,
(1, 2)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1398 次 |
最近记录: |