Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Простой таймер

Пример простого таймера на Python. Как одна из первых первых программ, очень простая и понятная реализация. Из библиотек только time, для корректного отображения времени.

#theory // just python
Дизасемблирование Python

Как мы знаем Python язык интерпретируемый и транслируется в байт код. Но его также можно и дизасемблировать в байт код. Встроенный модуль dis как раз позволяет это сделать.

#theory // just python
Пример использования pywin32

Получаем доступ к системной информации и получаем разрешение монитора. Для этого используем функцию GetSystemMetrics().

#theory // just python
Фильтрация значений False

Этот пример используется для устранения всех ложных значений из списка, например false, 0, None, " ".

#theory // just python
Сортировка словаря

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

#theory // just python
Enum перечисления

Этот класс можно назвать удобным способом инкапсуляции списка констант, чтобы они не были разбросаны по всему коду без структуры.

#theory // just python
Встроенная функция id

Встроенная функция id, позволяет получичить уникальный идентификационный номер объекта. Обратите внимание, что с ним происходит, когда мы приравнивам значение одной переменной, другой.

#theory // just python
Использование подчеркивания в REPL

Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL.

#theory // just python
Локальные переменные

Продолжаем изучать Python вглубь. Познакомимся с функцией locals() которая возвращает словарь локальных переменных.

#theory // just python
Формируем среду вывода

Часто приложение подразумевает свою систему вывода. Мы знаем, что наше приложение работает с именем и возрастом человека. У нас есть некое подобие базы данных в виде списка с данными. Удобно иметь свою функцию красивого вывода.

Функция format() позволяет использовать позиционное форматирование, устанавливать порядок записи чисел с плавающей запятой, сокращения.

{:^6} Означает что от первого аргумента будет отступ (6) с заполнением. Выравнивание по центру (^).

#theory // just python
Внутренности объектов

Для понимания устройства встроенных модулей, объектов, библиотек в Python есть инструмент, позволяющий понять, какие функции и поля содержит объект.

Функция dir() показывает все атрибуты объекта. Удобно использовать в интерпретаторе в процессе обучения.

#theory // just python
Продвинутая работа со списками

При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.

В общей форме формирования среза выглядит следующим образом:
list[start:end:step]

Комбинации параметров помогут достичь необходимого результата.

#theory // just python
Обработка исключений

Ошибки могу вызывать полное отключение и сбой в работе скрипта. Важно находить уязвимые части кода и предотвращать поломки.

Конструкция try except позволяет делать исключения для тех функций, которые могу привести к сбою.

try:
уязвимая функция

except:
что делаем если вызвала ошибку


#theory // just python
Печать в одной строке

Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.

#theory // just python
Директива repr

Для установки корректного официального определения класса используется метод repr(), который определяет строковое обозначение класса для программиста. По умолчанию оно представляет собой название класса и адрес в памяти. Используется для отладки приложения, описание даст информации больше, чем имя и адрес в памяти.

#theory // just python
Аннотация типов

Python - язык с динамической типизацией. Это может быть как преимуществом так и недостатком. Для четкого определения типа переменных существуют аннотации, которые позволят явно указать тип данных объекта или тип данных возвращаемых функцией.

У аннотаций следующий варианты синтаксиса:
1. имя_переменной : тип_данных
2. имя_переменной : тип_данных = значение
3. def my_function(arg: тип_данных) -> тип_возвращаемого_значения

#theory // just python
Библиотека showballstemmer

Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.

В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer

#theory // just python
Выражения присваивания

Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.

#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
Метод get() у словарей и его «дефолтный» результат.

Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.

Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.

Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.

#theory // just python