Добрый день. Я сейчас прохожу курс повышения квалификации - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?
|
Введение в программирование на языке Python
Выражения
В современных языках программирования принято производить большую часть обработки данных в выражениях. Синтаксис выражений у многих языков программирования примерно одинаков. Синтаксис выражений Python не удивит программиста чем-то новым. (Разве что цепочечные сравнения могут приятно порадовать.)
Приоритет операций показан в нижеследующей таблице (в порядке увеличения). Для унарных операций x обозначает операнд. Ассоциативность операций в Python - слева-направо, за исключением операции возведения в степень ( ** ), которая ассоциативна справа налево.
Операция | Название |
---|---|
lambda | лямбда-выражение |
or | логическое ИЛИ |
and | логическое И |
not x | логическое НЕ |
in, not in | проверка принадлежности |
is, is not | проверка идентичности |
<,<=,>,>=,!=,== | сравнения |
| | побитовое ИЛИ |
^ | побитовое исключающее ИЛИ |
& | побитовое И |
<<, >> | побитовые сдвиги |
+, - | сложение и вычитание |
*, /, % | умножение, деление, остаток |
+x, -x | унарный плюс и смена знака |
~x | побитовое НЕ |
** | возведение в степень |
x.атрибут | ссылка на атрибут |
x[индекс] | взятие элемента по индексу |
x[от:до] | выделение среза (от и до) |
f(аргумент,...) | вызов функции |
( ... ) | скобки или кортеж |
[ ... ] | список или списковое включение |
{кл:зн, ...} | словарь пар ключ-значение |
`выражения` | преобразование к строке (repr) |
Таким образом, порядок вычислений операндов определяется такими правилами:
- Операнд слева вычисляется раньше операнда справа во всех бинарных операциях, кроме возведения в степень.
- Цепочка сравнений вида a < b < c ... y < z фактически равносильна: (а < b) and (b < c) and ... and (y < z).
- Перед фактическим выполнением операции вычисляются нужные для нее операнды. В большинстве бинарных операций предварительно вычисляются оба операнда (сначала левый), но операции or и and, а также цепочки сравнений вычисляют такое количество операндов, которое достаточно для получения результата. В невычисленной части выражения в таком случае могут даже быть неопределенные имена. Это важно учитывать, если используются функции с побочными эффектами.
- Аргументы функций, выражения для списков, кортежей, словарей и т.п. вычисляются слева-направо, в порядке следования в выражении.
В случае неясности приоритетов желательно применять скобки. Несмотря на то, что одни и те же символы могут использоваться для разных операций, приоритеты операций не меняются. Так, % имеет тот же приоритет, что и *, а потому в следующем примере скобки просто необходимы, чтобы операция умножения произошла перед операцией форматирования:
print "%i" % (i*j)
Выражения могут фигурировать во многих операторах Python и даже как самостоятельный оператор. У выражения всегда есть результат, хотя в некоторых случаях (когда выражение вычисляется ради побочных эффектов) этот результат может быть "ничем" - None.
Очень часто выражения стоят в правой части оператора присваивания или расширенного присваивания. В Python (в отличие, скажем, от C) нет операции присваивания, поэтому синтаксически перед знаком = могут стоять только идентификатор, индекс, срез, доступ к атрибуту или кортеж (список) из перечисленного. (Подробности в документации).