花括号的含义是啥? [关闭]
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
【讨论】:
以上是关于花括号的含义是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章