Ava*_*esh 29 python syntax tuples
我想知道为什么在变量名后添加一个尾随逗号(在这种情况下是一个字符串)使它成为一个tuple.即
>>> abc = 'mystring',
>>> print(abc)
('mystring',)
Run Code Online (Sandbox Code Playgroud)
当我打印abc它返回tuple ('mystring',).
因为这是用一个元素编写元组文字的唯一方法.对于列表文字,必要的括号使语法唯一,但由于parantheses也可以表示分组,括在括号中的表达式不会将其转换为元组:您需要一个不同的语法元素,在本例中为逗号.
更新
请参阅上文以获得更好的答案.
原始答案
在python中,元组用括号表示.
括号不表示元组.任何表达式都可以括在括号中,这对于元组来说并不是特别的.事实上,几乎总是需要使用括号,因为否则它将是模糊的,这就是元组上的
__str__和__repr__方法将显示它们的原因.
我的立场得到了纠正(我今天一直都在做.叹气).
例如:
abc = ('my', 'string')
Run Code Online (Sandbox Code Playgroud)
单元素元组怎么样?括号表示法仍然有效.
abc = ('mystring',)
Run Code Online (Sandbox Code Playgroud)
对于所有元组,可以省略括号,但需要保留逗号.
abc = 'mystring', # ('mystring',)
Run Code Online (Sandbox Code Playgroud)
要么
abc = 'my', 'string', # ('my', 'string',)
Run Code Online (Sandbox Code Playgroud)
所以实际上你正在做的是创建单个元素元组而不是字符串.
该文件明确表示:
包含至少一个逗号的表达式列表产生一个元组.元组的长度是列表中表达式的数量.表达式从左到右进行评估.
| 归档时间: |
|
| 查看次数: |
19051 次 |
| 最近记录: |