Встроенная функция id
Встроенная функция id, позволяет получичить уникальный идентификационный номер объекта. Обратите внимание, что с ним происходит, когда мы приравнивам значение одной переменной, другой.
#theory // just python
Встроенная функция id, позволяет получичить уникальный идентификационный номер объекта. Обратите внимание, что с ним происходит, когда мы приравнивам значение одной переменной, другой.
#theory // just python
Использование подчеркивания в REPL
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL.
#theory // just python
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL.
#theory // just python
Локальные переменные
Продолжаем изучать Python вглубь. Познакомимся с функцией locals() которая возвращает словарь локальных переменных.
#theory // just python
Продолжаем изучать Python вглубь. Познакомимся с функцией locals() которая возвращает словарь локальных переменных.
#theory // just python
Формируем среду вывода
Часто приложение подразумевает свою систему вывода. Мы знаем, что наше приложение работает с именем и возрастом человека. У нас есть некое подобие базы данных в виде списка с данными. Удобно иметь свою функцию красивого вывода.
Функция format() позволяет использовать позиционное форматирование, устанавливать порядок записи чисел с плавающей запятой, сокращения.
{:^6} Означает что от первого аргумента будет отступ (6) с заполнением. Выравнивание по центру (^).
#theory // just python
Часто приложение подразумевает свою систему вывода. Мы знаем, что наше приложение работает с именем и возрастом человека. У нас есть некое подобие базы данных в виде списка с данными. Удобно иметь свою функцию красивого вывода.
Функция format() позволяет использовать позиционное форматирование, устанавливать порядок записи чисел с плавающей запятой, сокращения.
{:^6} Означает что от первого аргумента будет отступ (6) с заполнением. Выравнивание по центру (^).
#theory // just python
Внутренности объектов
Для понимания устройства встроенных модулей, объектов, библиотек в Python есть инструмент, позволяющий понять, какие функции и поля содержит объект.
Функция dir() показывает все атрибуты объекта. Удобно использовать в интерпретаторе в процессе обучения.
#theory // just python
Для понимания устройства встроенных модулей, объектов, библиотек в Python есть инструмент, позволяющий понять, какие функции и поля содержит объект.
Функция dir() показывает все атрибуты объекта. Удобно использовать в интерпретаторе в процессе обучения.
#theory // just python
Продвинутая работа со списками
При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.
В общей форме формирования среза выглядит следующим образом:
Комбинации параметров помогут достичь необходимого результата.
#theory // just python
При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.
В общей форме формирования среза выглядит следующим образом:
list[start:end:step]Комбинации параметров помогут достичь необходимого результата.
#theory // just python
Обработка исключений
Ошибки могу вызывать полное отключение и сбой в работе скрипта. Важно находить уязвимые части кода и предотвращать поломки.
Конструкция try except позволяет делать исключения для тех функций, которые могу привести к сбою.
#theory // just python
Ошибки могу вызывать полное отключение и сбой в работе скрипта. Важно находить уязвимые части кода и предотвращать поломки.
Конструкция try except позволяет делать исключения для тех функций, которые могу привести к сбою.
try:
уязвимая функция
except:
что делаем если вызвала ошибку
#theory // just python
Печать в одной строке
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
#theory // just python
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
#theory // just python
Директива repr
Для установки корректного официального определения класса используется метод repr(), который определяет строковое обозначение класса для программиста. По умолчанию оно представляет собой название класса и адрес в памяти. Используется для отладки приложения, описание даст информации больше, чем имя и адрес в памяти.
#theory // just python
Для установки корректного официального определения класса используется метод repr(), который определяет строковое обозначение класса для программиста. По умолчанию оно представляет собой название класса и адрес в памяти. Используется для отладки приложения, описание даст информации больше, чем имя и адрес в памяти.
#theory // just python
Аннотация типов
Python - язык с динамической типизацией. Это может быть как преимуществом так и недостатком. Для четкого определения типа переменных существуют аннотации, которые позволят явно указать тип данных объекта или тип данных возвращаемых функцией.
У аннотаций следующий варианты синтаксиса:
1. имя_переменной : тип_данных
2. имя_переменной : тип_данных = значение
3. def my_function(arg: тип_данных) -> тип_возвращаемого_значения
#theory // just python
Python - язык с динамической типизацией. Это может быть как преимуществом так и недостатком. Для четкого определения типа переменных существуют аннотации, которые позволят явно указать тип данных объекта или тип данных возвращаемых функцией.
У аннотаций следующий варианты синтаксиса:
1. имя_переменной : тип_данных
2. имя_переменной : тип_данных = значение
3. def my_function(arg: тип_данных) -> тип_возвращаемого_значения
#theory // just python
Библиотека showballstemmer
Библиотека
В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно:
#theory // just python
Библиотека
showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно:
EnglishStemmer, FrenchStemmer, RussianStemmer#theory // just python
Выражения присваивания
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
#theory // just python
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
#theory // just python
Составной вывод
Простой способ — сложение (конкатенация) строк. Хорошо с одной переменной в строке, а если их больше — читается с трудом.
#theory // just python
Простой способ — сложение (конкатенация) строк. Хорошо с одной переменной в строке, а если их больше — читается с трудом.
print('Hello ' + name + ' — ' + str(age) + ' y.o.')
Функция format() позволяет формировать понятный вывод не только для пользователя, но и для программиста.print('Hello {} — {} y.o.'.format(name, age))
Python последовательно проставляет номера для скобок и передает им значения переменных, последовательно указанных в аргументе.#theory // just python
Преобразование текста в речь
Этот проект на Python использует ряд новых библиотек для преобразования существующей статьи в воспроизводимый mp3-файл. Вам нужно будет установить nltk (natural language toolkit), newspaper3k и gtts.
Программа простая, поскольку мы просто передаем URL-адрес статьи для преобразования, а затем позволяем функции обрабатывать преобразование текста в речь с помощью наших недавно установленных модулей.
#theory // just python
Этот проект на Python использует ряд новых библиотек для преобразования существующей статьи в воспроизводимый mp3-файл. Вам нужно будет установить nltk (natural language toolkit), newspaper3k и gtts.
Программа простая, поскольку мы просто передаем URL-адрес статьи для преобразования, а затем позволяем функции обрабатывать преобразование текста в речь с помощью наших недавно установленных модулей.
#theory // just python
Метод get() у словарей и его «дефолтный» результат.
Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.
Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.
Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
#theory // just python
Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.
Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.
Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
#theory // just python
Как отформатировать строку с помощью f-строк
Эти f-строки похожи на метод .format(). Однако они предоставляют более ёмкий способ сделать то же самое, всего лишь добавив к строке букву f в качестве префикса.
#theory // just python
Эти f-строки похожи на метод .format(). Однако они предоставляют более ёмкий способ сделать то же самое, всего лишь добавив к строке букву f в качестве префикса.
#theory // just python
3 трюка с itertools
Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции –
Далее,
А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция
#theory // just python
Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции –
chain. Она позволяет "склеивать" несколько итерируемых элементов в один.Далее,
accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее.А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция
combinations. Вторым аргументом можно задать длину этой самой комбинации.#theory // just python
Wikipedia в Python
Это модуль, который обращается к API Википедии. Устанавливается этот модуль через пакетный менеджер
#modules // just python
Это модуль, который обращается к API Википедии. Устанавливается этот модуль через пакетный менеджер
pip. А использовать его можно без всяких трудностей – всё самое важное показано на картинке.#modules // just python
Pyperclip
Модуль
#modules // just python
Модуль
pyperclip имеет функции copy() и paste(), которые позволяют отправлять текст в буфер обмена вашего компьютера и получать его оттуда. Таким образом, можно прямо через код копировать вывод программы в буфер обмена вместо того, чтобы делать это вручную. Установить этот модуль можно привычным способом через пакетный менеджер pip.#modules // just python
Ускоряем код с помощью векторизации
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
По сути,
#theory // just python
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize.По сути,
vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.#theory // just python
Правильным ответом является [1, 2]
Происходит так из-за того, что дефолтные параметры хранятся в неизменном кортеже в атрибуте функции
А для того, чтобы добиться правильного поведения функции, следует воспользоваться ключевым словом
#theory // just python
Происходит так из-за того, что дефолтные параметры хранятся в неизменном кортеже в атрибуте функции
defaults, который создается один раз в момент определения функции.А для того, чтобы добиться правильного поведения функции, следует воспользоваться ключевым словом
None при определении аргументов по-умолчанию.#theory // just python