Почему в Python нет операций инкремента / декремента X++, --X?
Anonymous Quiz
27%
Они есть
47%
Потому что числа — неизменяемый тип данных
18%
Потому что в таком случае интерпретатор «запутается»
9%
Потому что это сделает Python неотличимым от C
Какой из способов изменить L быстрее?
Anonymous Quiz
14%
1
53%
2
33%
Одинаково быстры вне зависимости от размеров L
Что выведет код?
Anonymous Quiz
38%
['s', 'p', 'a', 'm', 's', 'p', 'a', 'm']
29%
['s', 'p', 'a', 'm', 'spam']
2%
['s', 'p', 'a', 'm']
31%
Error
Немного про именование
Синтаксис: (символ подчеркивания или алфавитный символ) + (любое число символов, цифр или символов подчеркивания)
Имена переменных должны начинаться с символа подчеркивания или с алфавитного символа, за которым может следовать произвольное число алфавитных символов, цифр или символов подчеркивания. Допустимыми именами являются:
Запрещено использовать зарезервированные слова
Имена определяемых вами переменных не могут совпадать с зарезервированными словами, имеющими в языке Python специальное назначение. Например, если попытаться использовать переменную с именем class, интерпретатор выведет сообщение о синтаксической ошибке, однако имена
Синтаксис: (символ подчеркивания или алфавитный символ) + (любое число символов, цифр или символов подчеркивания)
Имена переменных должны начинаться с символа подчеркивания или с алфавитного символа, за которым может следовать произвольное число алфавитных символов, цифр или символов подчеркивания. Допустимыми именами являются:
_spam
, Spam_1
, а 1_Spam
, spam$ и @#! – недопустимыми.Запрещено использовать зарезервированные слова
Имена определяемых вами переменных не могут совпадать с зарезервированными словами, имеющими в языке Python специальное назначение. Например, если попытаться использовать переменную с именем class, интерпретатор выведет сообщение о синтаксической ошибке, однако имена
klass
и Class
являются вполне допустимыми. В таблице перечислены слова, которые в настоящее время зарезервированы языком Python (и, следовательно, запрещены для использования в качестве имен переменных).Cуществует еще целый ряд соглашений – правил, которые не являются обязательными, но которым обычно следуют на практике. Например, имена с двумя символами подчеркивания в начале и в конце ( name) обычно имеют особый смысл для интерпретатора, поэтому вам следует избегать их использования для именования своих переменных.
Ниже приводится список соглашений, которым было бы желательно следовать:
— Имена, начинающиеся с одного символа подчеркивания (
— Имена, имеющие два символа подчеркивания в начале и в конце (
— Имена, начинающиеся с двух символов подчеркивания и не оканчивающиеся двумя символами подчеркивания (
— Имя, состоящее из единственного символа подчеркивания (
Ниже приводится список соглашений, которым было бы желательно следовать:
— Имена, начинающиеся с одного символа подчеркивания (
_X
), не импортируются инструкцией from module import *— Имена, имеющие два символа подчеркивания в начале и в конце (
__X__
) являются системными именами, которые имеют особый смысл для интерпретатора.— Имена, начинающиеся с двух символов подчеркивания и не оканчивающиеся двумя символами подчеркивания (
__X
), являются локальными («искаженными») для объемлющего класса (смотрите псевдочастные атрибуты).— Имя, состоящее из единственного символа подчеркивания (
_
), хранит результат последнего выражения при работе в интерактивной оболочке.Инструкции выражений
В языке Python выражения также могут использоваться в качестве инструкций (то есть в отдельной строке). Однако, поскольку результат вычисления таких выражений не сохраняется, использовать такую возможность имеет смысл только в том случае, если выражение выполняет какие-то полезные действия в виде побочного эффекта.
В качестве инструкций выражения используются обычно в двух ситуациях:
— Для вызова функций и методов: некоторые функции и методы выполняют огромный объем работы, не возвращая никакого значения. В других языках программирования такие функции иногда называют процедурами. Поскольку они не возвращают значений, которые могло бы потребоваться сохранить, вы можете вызывать эти функции в инструкциях выражений.
— Для вывода значений в интерактивной оболочке: в ходе интерактивного сеанса интерпретатор автоматически выводит результаты вводимых выражений. С технической точки зрения они также являются инструкциями выражений и играют роль сокращенной версии инструкции print.
Теперь вернемся к нашей задаче. Даже при том, что функция
В языке Python выражения также могут использоваться в качестве инструкций (то есть в отдельной строке). Однако, поскольку результат вычисления таких выражений не сохраняется, использовать такую возможность имеет смысл только в том случае, если выражение выполняет какие-то полезные действия в виде побочного эффекта.
# Простое вычисление
result = 5 + 3
# Инструкция выражения (выражение, которое вычисляется, но его результат не сохраняется)
5 * 2
# Использование функции print для вывода результата
print(5 * 2) # Это уже не просто инструкция выражения, а полноценная инструкция
В качестве инструкций выражения используются обычно в двух ситуациях:
— Для вызова функций и методов: некоторые функции и методы выполняют огромный объем работы, не возвращая никакого значения. В других языках программирования такие функции иногда называют процедурами. Поскольку они не возвращают значений, которые могло бы потребоваться сохранить, вы можете вызывать эти функции в инструкциях выражений.
— Для вывода значений в интерактивной оболочке: в ходе интерактивного сеанса интерпретатор автоматически выводит результаты вводимых выражений. С технической точки зрения они также являются инструкциями выражений и играют роль сокращенной версии инструкции print.
Теперь вернемся к нашей задаче. Даже при том, что функция
print
вызывается в отдельной строке, как инструкция выражения, тем не менее она возвращает значение, как и любая другая функция (она возвращает значение None, что возвращается всеми функциями, которые явно не возвращают какого-либо значимого значения):>>> x = print(‘spam’) # print – это выражение вызова функции
spam
>>> print(x) # но может использоваться, как инструкция выражения
None
👍1
В Python числа считаются истинными значениями, то есть в определенных обстоятельствах их можно использовать как эквивалент
В случае с оператором
Как только найден первый удовлетворяющий условию операнд, наступает «укороченная оценка», то есть определение результата выражения прекращается, как только результат становится известным.
True
.В случае с оператором
or
будет возвращен левый операнд, если он истинный. В противном случае возвращается правый операнд. Как только найден первый удовлетворяющий условию операнд, наступает «укороченная оценка», то есть определение результата выражения прекращается, как только результат становится известным.