2012-02-08 25 views
32

Только что начал изображать Python. Я прочитал этот вопрос и его ответ:Кудрявые скобки в Python?

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

, и я до сих пор не могу понять, как фигурные скобки работать, особенно с тех пор, как страницы Простые программы:

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

использовать фигурные скобки повсюду. Я понимаю квадратные скобки и регулярные изогнутые круглые скобки, но я не знаю, что подразумевается под «определением словарей» или тем, что они должны представлять.

+15

'от __future__ импорта braces' – robert

+2

Вы действительно должны пройти через [Учебник] (http://docs.python.org/py3k/tutorial/). –

ответ

62

«Curly Braces» используются в Python для определения словаря. Словарь - это структура данных, которая отображает одно значение в другое - например, как английский словарь сопоставляет слово с его определением.

Python:

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

Они также используются для строк формата, вместо старого стиля С помощью%, как:

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 
} 
4

Словари в Python - это структуры данных, в которых хранятся пары ключ-значение. Вы можете использовать их как ассоциативные массивы. Фигурные скобки используются при объявлении словарей:

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

Фигурные скобки не используются для обозначения уровней управления в Python. Вместо этого Python использует отступы для этой цели.

Думаю, вам действительно нужны хорошие ресурсы для изучения Python в целом. См. https://stackoverflow.com/q/175001/10077

+0

Я проработал свой путь через Learn Python Hard Way (что, по-видимому, немного противоречиво), и достигли той главы, где я должен скачать, распечатать и просто прочитать код. Я продолжаю сталкиваться с вещами, которые я не знаю, и фигурные скобки - единственное, что я не могу окутать в голову, когда я их смотрю ... следовательно, вопрос. – JeanSibelius

+0

@mattshepherd: Может быть, это соответствует его названию. 8v) Серьезно, однако, [Учебное пособие по Python] (http://docs.python.org/py3k/tutorial/) (как связано Майкл Дж. Барбер), очень хорошо. Вы можете попробовать. –

0

Словарь является то, как массив, который доступ с помощью клавиш (например, строк, ...), а не просто порядковые номера. Он содержит пары ключ/значение, вы можете искать значения с помощью ключа, например, с помощью телефонной книги: key = name, number = value.

Для определения такого словаря, можно использовать этот синтаксис, используя фигурные скобки, смотрите также: http://wiki.python.org/moin/SimplePrograms

8

В таких языках, как C фигурные скобки ({}) используются для создания программных блоков, используемых в управлении потоком. В Python фигурные скобки используются для определения структуры данных, называемой словарем (сопоставление ключей/значений), в то время как выделение пробелов используется для определения программных блоков.

14

В 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 
Смежные вопросы