【问题标题】: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

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

【问题讨论】:

标签: python curly-braces parentheses braces


【解决方案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
【解决方案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://stackoverflow.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

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 2019-11-19
      相关资源
      最近更新 更多