花括号的含义是啥? [关闭]

Posted

技术标签:

【中文标题】花括号的含义是啥? [关闭]【英文标题】:What is the meaning of curly braces? [closed]花括号的含义是什么? [关闭] 【发布时间】:2012-03-01 02:59:20 【问题描述】:

刚刚开始了解 Python。我已经阅读了这个问题及其回复:

Is it true that I can't use curly braces in Python?

我仍然无法理解花括号的工作原理,尤其是像 Simple Programs 这样的页面:

http://wiki.python.org/moin/SimplePrograms

在所有地方都使用花括号。我了解方括号和常规弯括号,但我不知道“定义字典”是什么意思,也不知道它们应该代表什么。

【问题讨论】:

from __future__ import braces 你真的应该通过tutorial。 花括号用于empty/non-empty dictionary 和non-empty sets both。为了初始化 empty 集,使用 set() 语句代替。 相关帖子 - Is it true that I can't use curly braces in Python? 【参考方案1】:

“花括号”在 Python 中用于定义字典。字典是一种将一个值映射到另一个值的数据结构——有点像英语字典如何将一个词映射到它的定义。

Python:

dict = 
    "a" : "Apple",
    "b" : "Banana",

它们还用于格式化字符串,而不是使用 % 的旧 C 样式,例如:

ds = ['a', 'b', 'c', 'd']
x = ['has_ 1'.format(d) for d in ds]

print x

['has_a 1', 'has_b 1', 'has_c 1', 'has_d 1']

它们不用于表示代码块,因为它们在许多“类 C”语言中。

C:

if (condition) 
    // do this

更新:除了 Python 的 dict 数据类型之外,Python 还拥有(自 Python 2.7 起)set,它也使用花括号并声明如下:

my_set = 1, 2, 3, 4

【讨论】:

有没有办法让 Python 将它们用于代码块?看似疯狂的问题,我知道,但我正在帮助当地盲童从 this 过渡到他的朋友在学校使用的语言 (Python),屏幕阅读器上的空白缩进太可怕了 @dumbledad 你有什么发现吗?似乎这里需要一个支持 Python 的屏幕阅读器 - 但可以找到它吗? 花括号也用于表示set literals,类似于字典文字,只是没有任何键或冒号(:)。 @dumbledad 你可以试试这个:github.com/ofajardo/pytwister @dumbledad: python-with-braces.appspot.com【参考方案2】:

在 Python 中,大括号用于定义字典。

a='one':1, 'two':2, 'three':3
a['one']=1
a['three']=3

在其他语言中, 用作流控制的一部分。然而,Python 使用缩进作为其流程控制,因为它专注于可读代码。

for entry in entries:
     code....

在大括号方面,Python 中有一个小彩蛋。尝试在 Python Shell 上运行它并享受它。

from __future__ import braces

【讨论】:

from __future__ import braces 给出SyntaxError: not a chance。这是一个更大的复活节彩蛋。【参考方案3】:

C 等语言中,花括号 () 用于创建用于流程控制的程序块。在 Python 中,大括号用于定义称为字典(键/值映射)的数据结构,而空格缩进用于定义程序块。

【讨论】:

【参考方案4】:

Python 中的字典是存储键值对的数据结构。您可以像关联数组一样使用它们。声明字典时使用花括号:

d = 'One': 1, 'Two' : 2, 'Three' : 3 
print d['Two'] # prints "2"

花括号不用于表示 Python 中的控制级别。相反,Python 使用缩进来实现此目的。

我认为你确实需要一些好的资源来学习 Python。见https://***.com/q/175001/10077

【讨论】:

我一直在努力学习 Python the Hard Way(这显然有点争议),并且已经到了我应该下载、打印和阅读代码的章节。我不断遇到一些我不知道的事情,而花括号是我查找它们时唯一无法绕开的东西......因此问题。 @mattshepherd:也许它名副其实。 8v) 不过,说真的,Python Tutorial(正如 Michael J. Barber 所链接的)非常好。你可以试试看。【参考方案5】:

字典类似于数组,可以通过键(例如字符串,...)访问,而不仅仅是简单的序列号。它包含键/值对,您可以像使用电话簿一样使用键查找值:key=name, number=value。

要定义这样的字典,请使用大括号使用此语法,另请参阅:http://wiki.python.org/moin/SimplePrograms

【讨论】:

以上是关于花括号的含义是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

反应中双花括号 的技术名称是啥?

Java中的花括号本身是啥意思?

React 的 JSX 语法中双花括号的目的是啥?

JSP中的美元花括号$是啥意思?

这些花括号在 python Django 中是啥意思? **

ES6 import 语句中花括号的用途是啥?