python中括号的不同含义

jak*_*ong 21 python brackets

我很好奇,3个不同的括号在python编程中意味着什么?我不确定这是否正确,但如果我错了请纠正我.

[] - # Normally used for dictionaries, list items
() - # Used to identify params
{} - # I have no idea what this does... 
Run Code Online (Sandbox Code Playgroud)

或者,如果这些括号可用于其他目的,欢迎任何建议!谢谢!

Mal*_*sen 32

  • []:用于定义可变数据类型 - 列表,列表推导以及索引/查找/切片.
  • ():定义元组,操作顺序,生成器表达式,函数调用和其他语法.
  • {}:两种哈希表类型 - 字典和集合.

  • 不,`()`做**不**定义一个元组.正如[官方教程](https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences)所说:"元组由逗号分隔的多个值组成[...]输出元组总是包含在括号中,以便正确解释嵌套元组;它们可以输入带或不带括号括号,尽管通常括号是必要的(如果元组是较大表达式的一部分)".需要括号的另一种情况是创建一个空元组:`()`. (4认同)
  • @ PM2Ring我知道,我知道,但OP似乎是任何极端的初学者,我不想引入这样的微妙之处. (3认同)
  • 很公平,但我认为我的评论可能对未来的读者有用.(FWIW,我今天刚刚看到这个页面,因为它被链接为一个重复的目标到一个已被删除的问题). (2认同)

ttq*_*ttq 5

除了 Maltysen 的回答之外,对于未来的读者:您可以通过定义方法在类中定义()和运算符:[]

一个例子是numpy.mgrid[...]。通过这种方式,您可以根据您喜欢的任何目的在定制对象上定义它。