【发布时间】:2015-08-22 09:58:03
【问题描述】:
我很好奇,这 3 个不同的括号在 Python 编程中是什么意思?不知道我是否正确,但如果我错了,请纠正我:
-
[]- 通常用于字典、列表项 -
()- 用于识别参数 -
{}- 我不知道这是做什么的......
或者如果这些括号可以用于其他目的,欢迎提出任何建议!谢谢!
【问题讨论】:
我很好奇,这 3 个不同的括号在 Python 编程中是什么意思?不知道我是否正确,但如果我错了,请纠正我:
[] - 通常用于字典、列表项() - 用于识别参数{} - 我不知道这是做什么的......或者如果这些括号可以用于其他目的,欢迎提出任何建议!谢谢!
【问题讨论】:
[]:列表和索引/查找/切片
[]、[1, 2, 3]、[i**2 for i in range(5)]
'abc'[0] → 'a'
{0: 10}[0] → 10
'abc'[:2] → 'ab'
():元组、运算顺序、生成器表达式、函数调用和其他语法。
(),(1, 2, 3)
t = 1, 2 → (1, 2)
(n-1)**2
(i**2 for i in range(5))
print()、int()、range(5)、'1 2'.split(' ')
sum(i**2 for i in range(5))
{}: 字典和集合
{}、{0: 10}、{i: i**2 for i in range(5)}
{0}、{i**2 for i in range(5)}
【讨论】:
f'{foobar}' 和 '{}'.format(foobar)
除了 Maltysen 的答案和未来的读者:您可以通过定义方法在类中定义 () 和 [] 运算符:
一个例子是numpy.mgrid[...]。通过这种方式,您可以根据自己喜欢的任何目的在您的定制对象上定义它。
【讨论】: