Иголки в стоге сена (ч.6)
Последний должен быть довольно очевидным, изменяемым объектом (например list) может быть изменен в функции, и переназначение неизменяемого (a -= 1) не является изменением значения.
#theory // Just Python
Последний должен быть довольно очевидным, изменяемым объектом (например list) может быть изменен в функции, и переназначение неизменяемого (a -= 1) не является изменением значения.
#theory // Just Python
Разбиения
На первый взгляд может показаться, что разделителем по умолчанию для split является один пробел ' ', но согласно документации:
Если sep не указан или есть None, применяется другой алгоритм разделения: последовательные пробельные строки рассматриваются как единый разделитель, и результат не будет содержать пустых строк в начале или в конце, если строка содержит начальный или конечный пробел. Следовательно, возвращается разделение пустой строки или строки, состоящей только из пробелов с разделителем None []. Если задан sep, последовательные разделители не группируются вместе и считаются разделителями пустых строк (например, '1,,2'.split(',') возвращает ['1', '', '2']). Возвращает разделение пустой строки указанным разделителем [''].
#theory // Just Python
На первый взгляд может показаться, что разделителем по умолчанию для split является один пробел ' ', но согласно документации:
Если sep не указан или есть None, применяется другой алгоритм разделения: последовательные пробельные строки рассматриваются как единый разделитель, и результат не будет содержать пустых строк в начале или в конце, если строка содержит начальный или конечный пробел. Следовательно, возвращается разделение пустой строки или строки, состоящей только из пробелов с разделителем None []. Если задан sep, последовательные разделители не группируются вместе и считаются разделителями пустых строк (например, '1,,2'.split(',') возвращает ['1', '', '2']). Возвращает разделение пустой строки указанным разделителем [''].
#theory // Just Python
This media is not supported in your browser
VIEW IN TELEGRAM
print("Программирование — В С Ё!")
В 2025 году на кодинге уже не вывезешь, перспектива года - Кибербезопасность.
Ловите полезные каналы, которые помогут ворваться в новое направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
Дикий импорт (ч.1)
Часто рекомендуется не использовать импорт подстановочных знаков. Первая очевидная причина этого заключается в том, что при импорте подстановочных знаков имена с начальным подчеркиванием не импортируются. Это может привести к ошибкам во время выполнения.
#theory // Just Python
Часто рекомендуется не использовать импорт подстановочных знаков. Первая очевидная причина этого заключается в том, что при импорте подстановочных знаков имена с начальным подчеркиванием не импортируются. Это может привести к ошибкам во время выполнения.
#theory // Just Python
Дикий импорт (ч.2)
Если бы мы использовали from ... import a, b, c синтаксис, прошлого NameError не произошло бы.
#theory // Just Python
Если бы мы использовали from ... import a, b, c синтаксис, прошлого NameError не произошло бы.
#theory // Just Python
Дикий импорт (ч.3)
Если вы действительно хотите использовать импорт по шаблону, то вам нужно будет определить список all в вашем модуле, который будет содержать список общедоступных объектов, которые будут доступны, когда мы выполним импорт по шаблону.
#theory // Just Python
Если вы действительно хотите использовать импорт по шаблону, то вам нужно будет определить список all в вашем модуле, который будет содержать список общедоступных объектов, которые будут доступны, когда мы выполним импорт по шаблону.
#theory // Just Python
Полуночного времени не существует?
До Python 3.5 логическое значение для datetime.time объекта считалось равным False, если оно представляло полночь по UTC. Он подвержен ошибкам при использовании if obj: синтаксиса для проверки, является ли obj нулевым или каким-либо эквивалентом "пустого".
#theory // Just Python
До Python 3.5 логическое значение для datetime.time объекта считалось равным False, если оно представляло полночь по UTC. Он подвержен ошибкам при использовании if obj: синтаксиса для проверки, является ли obj нулевым или каким-либо эквивалентом "пустого".
#theory // Just Python
Все разобрано? (ч.1)
Sorted Метод всегда возвращает список, а сравнение списков и кортежей всегда возвращает False результат на Python.
В отличие от этого, sortedметод reversed возвращает итератор. Почему? Потому что сортировка требует, чтобы итератор был либо изменен на месте, либо использовал дополнительный контейнер (список), тогда как реверсирование может просто работать путем повторения от последнего индекса к первому.
#theory // Just Python
Sorted Метод всегда возвращает список, а сравнение списков и кортежей всегда возвращает False результат на Python.
В отличие от этого, sortedметод reversed возвращает итератор. Почему? Потому что сортировка требует, чтобы итератор был либо изменен на месте, либо использовал дополнительный контейнер (список), тогда как реверсирование может просто работать путем повторения от последнего индекса к первому.
#theory // Just Python
Все разобрано? (ч.2)
Таким образом, во время сравнения sorted(y) == sorted(y) первый вызов sorted() будет использовать итератор y, а следующий вызов просто вернет пустой список.
#theory // Just Python
Таким образом, во время сравнения sorted(y) == sorted(y) первый вызов sorted() будет использовать итератор y, а следующий вызов просто вернет пустой список.
#theory // Just Python
goto но почему?
Рабочая версия goto на Python была анонсирована в качестве первоапрельской шутки 1 апреля 2004 года.
Текущие версии Python не имеют этого модуля.
Хотя он и работает, но, пожалуйста, не используйте его. Вот причина, почему goto его нет в Python.
#theory // Just Python
Рабочая версия goto на Python была анонсирована в качестве первоапрельской шутки 1 апреля 2004 года.
Текущие версии Python не имеют этого модуля.
Хотя он и работает, но, пожалуйста, не используйте его. Вот причина, почему goto его нет в Python.
#theory // Just Python
Приготовьтесь!
future Модуль обычно используется для предоставления функций из будущих версий Python. Однако "будущее" в этом конкретном контексте звучит иронично.
Это пасхальное яйцо, посвященное чувствам сообщества по этому вопросу.
Код на самом деле присутствует здесь, в future.c файле.
Когда компилятор CPython сталкивается с инструкцией future, он сначала запускает соответствующий код в future.c, прежде чем рассматривать его как обычную инструкцию import .
#theory // Just Python
future Модуль обычно используется для предоставления функций из будущих версий Python. Однако "будущее" в этом конкретном контексте звучит иронично.
Это пасхальное яйцо, посвященное чувствам сообщества по этому вопросу.
Код на самом деле присутствует здесь, в future.c файле.
Когда компилятор CPython сталкивается с инструкцией future, он сначала запускает соответствующий код в future.c, прежде чем рассматривать его как обычную инструкцию import .
#theory // Just Python
Давайте познакомимся с дружелюбным дядей по языку на всю жизнь
Это относится к PEP-401, выпущенному 1 апреля 2009 года (теперь вы знаете, что это значит).
Цитирую из PEP-401
Учитывая, что оператор неравенства != в Python 3.0 был ужасной ошибкой, вызывающей боль в пальцах, FLUFL восстанавливает оператор <> diamond в качестве единственного написания.
#theory // Just Python
Это относится к PEP-401, выпущенному 1 апреля 2009 года (теперь вы знаете, что это значит).
Цитирую из PEP-401
Учитывая, что оператор неравенства != в Python 3.0 был ужасной ошибкой, вызывающей боль в пальцах, FLUFL восстанавливает оператор <> diamond в качестве единственного написания.
#theory // Just Python
Сколько времени может работать код
Вы не задумывались, сколько именно времени занимает работа кода в рамках одной ячейки?
Магическая команда time позволяет получить всю необходимую информацию о времени.
#theory // Just Python
Вы не задумывались, сколько именно времени занимает работа кода в рамках одной ячейки?
Магическая команда time позволяет получить всю необходимую информацию о времени.
#theory // Just Python
uuid
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).
Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.
Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
#theory // Just Python
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).
Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.
Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
#theory // Just Python
Виртуальные среды
И так к нашему счастью, в Python есть поддержка виртуальных сред, которые позволяют взять лучшее от двух миров.
Так же вы теперь можете иметь разные независимые версии Python на одной машине
#theory // Just Python
И так к нашему счастью, в Python есть поддержка виртуальных сред, которые позволяют взять лучшее от двух миров.
Так же вы теперь можете иметь разные независимые версии Python на одной машине
#theory // Just Python
Давно хотели просмотреть содержимое внешнего файла?
Часто вам может понадобиться скопировать в свой код несколько строк кода из внешнего файла. Команда %pycat избавит вас от долгой процедуры извлечения определенных данных из файла и их копирования в другой файл. Она позволяет просматривать содержимое любого файла в любом каталоге.
#theory // Just Python
Часто вам может понадобиться скопировать в свой код несколько строк кода из внешнего файла. Команда %pycat избавит вас от долгой процедуры извлечения определенных данных из файла и их копирования в другой файл. Она позволяет просматривать содержимое любого файла в любом каталоге.
#theory // Just Python
Как скопировать всё содержимое внешнего файла?
В большинстве случаев возникает необходимость скопировать содержимое вашей ячейки в скрипт python или текстовый файл непосредственно из вашего блокнота Jupyter.
Вместо того чтобы копировать все и создавать новый файл, вы можете напрямую экспортировать свои данные, добавив команду writefile в ячейку перед кодом.
#theory // Just Python
В большинстве случаев возникает необходимость скопировать содержимое вашей ячейки в скрипт python или текстовый файл непосредственно из вашего блокнота Jupyter.
Вместо того чтобы копировать все и создавать новый файл, вы можете напрямую экспортировать свои данные, добавив команду writefile в ячейку перед кодом.
#theory // Just Python
else - Предложение для циклов
Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else. И с этим блоком возникает много путаницы, потому что его действие на первый взгляд неинтуитивно. Но с этим легко справиться.
else Предложение после цикла выполняется только тогда, когда после всех итераций нет явного break. Вы можете думать об этом как о предложении "nobreak".
#theory // Just Python
Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else. И с этим блоком возникает много путаницы, потому что его действие на первый взгляд неинтуитивно. Но с этим легко справиться.
else Предложение после цикла выполняется только тогда, когда после всех итераций нет явного break. Вы можете думать об этом как о предложении "nobreak".
#theory // Just Python
Многоточие
В Python Ellipsis это глобально доступный встроенный объект, который эквивалентен ... .
1) В качестве заполнителя для кода, который еще не был написан (точно так же, как pass инструкция)
2) В синтаксисе нарезки для представления полных фрагментов в оставшемся направлении
#theory // Just Python
В Python Ellipsis это глобально доступный встроенный объект, который эквивалентен ... .
>>> ...
Ellipsis
В основном многоточие используются для нескольких целей,1) В качестве заполнителя для кода, который еще не был написан (точно так же, как pass инструкция)
2) В синтаксисе нарезки для представления полных фрагментов в оставшемся направлении
#theory // Just Python
else - Предложение в обработке исключений
При написании кода по обработке помимо необязательного finally блока есть еще и необязательный else блок. Напомню, что этот блок кода выполняется если try блок завершился успешно, без летящих исключений.
Зачем нужен else блок, если все можно поместить в try блок?
Пока мое понимание на уровне правила: Если понадобился else блок, то код функции сложноват. Код в else следует поместить в отдельный метод и вызывать не в том куске кода, где хочется написать else, а уровнем по выше, т.е. более высокоуровневой функции.
#theory // Just Python
При написании кода по обработке помимо необязательного finally блока есть еще и необязательный else блок. Напомню, что этот блок кода выполняется если try блок завершился успешно, без летящих исключений.
Зачем нужен else блок, если все можно поместить в try блок?
Пока мое понимание на уровне правила: Если понадобился else блок, то код функции сложноват. Код в else следует поместить в отдельный метод и вызывать не в том куске кода, где хочется написать else, а уровнем по выше, т.е. более высокоуровневой функции.
#theory // Just Python