PYTHON ONLINE
400 subscribers
1 photo
52 links
PYTHON для начинающих
Download Telegram
Как получить краткую справку о функции?

Современные редакторы кода способны не только указывать на ошибке в коде, а также помогать их редактировать, но и давать подсказки о некоторых параметрах, при этом, данные справки не всегда бывают до конца исчерпывающими и поэтому, если вам не достаточно информации, то вы сможете воспользоваться одной из двух функций: dir() и help().

Функция help() — выводит краткую текстовую справку о той или иной команде даже при условии, что компьютер не подключён к интернету.

Функция dir() — показывает список всех доступных методов для указанной функции.
Как проверить версию Python?

На разных версия Python одни и те же команды или код в целом могут работать некорректно или не работать вовсе, поэтому, перед установкой программы на другое устройство стоит проверить версию Python с помощью значения version_info библиотеку sys.

При желании, на основе полученных данных вы можете дополнить код, чтобы он работал и на других версиях программы.
Правильно оформляем свой код!

В Python есть свои «правила», чтобы человек мог легче разобраться в коде другого кодера и не привыкать к другому оформлению кода и всем нюансам.

Такие «правила» называют PEP 8. Основные моменты PEP 8 мы перечислим далее, а в целом с ними можно ознакомиться по ссылке → ТЫК

1. Импорты допускается делать только по одному на каждую строку
2. Количество символов в строке не должно быть больше 101
3.
Использовать табы и пробелы можно, но смешивать их в отступах — запрещено. 1 отступ = 4 пробела.
4. Вокруг символов +, -, =, *, /, ** нужно ставить пробелы.
Как написать собственный словарь?

По сути, данный процесс является стандартной задачей по работе с файлами в Python.

Все сводится к тому, что нам нужно переделать англо-латинский словарь в латино-английский.

Всё вводимое берётся из input.txt, а выводимое сбрасывается в output.txt.

В файле input.txt необходимо указать число получившихся слов, а после этого латинские слова в отсортированном порядке.
Как работать со строками в Python?

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

Наиболее популярные их них:

1.
strip(). Позволяет удалить пробелы в начале и конце.
2. center(int, chr="). Центрирует текст. int — нужное количество знаков, а chr — символ, который добавится в начало и конец.
3. lower(). Преобразовывает к нижнему регистру.
4. upper(). Преобразовывает к верхнему регистру.
Создаем калькулятор в одну строчку.

Строка имеет следующий вид: print(eval(input()))

eval(). Необходима для того, чтобы выполнять выражения и функции, при этом возвращая результат.

При этом, eval() не может что-либо присваивать переменным: она только использует их.

Таким образом, с ее помощью мы можем принимать словари и списки строкой, а также просто использовать её как калькулятор.
Улучшенный ввод.

Зачастую, вывод в одну строку с помощью функции print не подходит под решаемую задачу.

В таких случаях необходимо воспользоваться встроенным модулем pprint: каждое новое вложение будет сопровождаться дополнительным отступом, так что вывод всегда будет иметь приятный и понятный вид.

Вот список некоторых параметров принимаемых: pprint.pprint:

1. width=80 — ширина экрана печати
2. object — объект форматирования
3. compact=False — компактное форматирование
4. depth=None — уровни вложенности
5. stream=None — форматированный вывод

Также, при необходимости вы сможете переопределить стандартную функцию print на более удобную pprint, написав print = pprint.pprint.
Что такое принцип "KISS"?

По сути, принцип "KISS" имеет следующую расшифровку "Keep It Simple, Stupid", что в переводе звучит как "Придерживайся простоты, идиот".

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

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

Проще говоря, чем проще написан код, тем лучше.
Встроенные функции all и any.

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

Таким образом, all возвращает значение True, если все объекты равны True или, по крайней мере, соответствуют заданному условию.

При этом, функция any, в свою очередь, делает то же самое, но возвращает True даже в тех случаях, когда какие-то из объектов не соответствуют условию.

Проще говоря, если даже один из них будет равен True, когда все остальные не равны, то функция any всё-равно вернёт значение True.
Как сортировать словарь по значениям?

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

При этом, задачу можно решить довольно-таки просто. Сделать это можно с помощью аргумента key функции sorted для указания функции, которая будет вызываться на каждом элементе до сравнения.
Какое время займет исполнение кода?

Бывают такие ситуации, когда приходится выбирать между несколькими вариантами кода, в таком случае чаще всего берется ориентир на скорость его исполнения.

Вычисление времени исполнения кода можно осуществить следующим образом: с помощью модуля time запоминаем начальное время, выполняем основной код, узнаём конечное время и просто высчитываем разницу.
Функция zip.

Данная функция позволяет создать итератор, который комбинирует элементы нескольких списков. Что позволяет осуществлять параллельный обход списков в циклах for или, к примеру, выполнять параллельную сортировку.
Библиотека FuzzyWuzzy.

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

Для установки библиотеки прописываем:

install fuzzywuzzy
Библиотека showballstemmer.

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

Многие используют pymorph2 (первая слишком много потребляет ресурсов), но для нахождения большинства результатов достаточно определять основу слова, а не начальную форму.

Как раз библиотека showballstemmer и занимается тем, что определяет основу слова, что, в свою очередь, позволяет сделать поиск более точным. При этом, библиотека потребляет мало ресурсов, а вот результат у нее получается намного лучше.

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

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

Общая форма формирования среза выглядит следующим образом:


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

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

Генераторы списков сами по себе весьма интересная особенность языка. С их помощью можно максимально коротко и просто сформировать интересующий вас список значений.

Для примера:

>>> data = [i for i in range(0, 10)]
>>> print(data)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

или

>>> data = [i for i in "python"]
>>> print(data)
['p', 'y', 't', 'h', 'o', 'n']
Удаление префиксов и суффиксов

Почему-то многие разработчики посчитали данную фишку в 3.9 не очень интересной и попросту ее выбросили. Хотя и очень даже зря.

Ведь некоторое программисты до сих пор для удаления префиксов и суффиксов на полном серьезе пытаются использовать забагованные .strip и .lsrtip. Это обусловлено тем, что они не до конца понимают, как работают два этих метода.

Но все же в Python 3.9 были добавлены методы для строк .removeprefix и .removesuffix, которые предназначены именно для удаления префиксов и суффиксов в строках.
Используем потоковый ввод.

Можно обрабатывать ввод от пользователя потоком.

В таком случае для завершения надо воспользоваться специальной "командой" на WindowsCtrl + D. А запустить потоковый ввод можно посредством библиотеки sys и метода stdin.

При необходимости получить и тут же обработать строку, пишем: sys.stdin

А вот если надо прочитать весь потоковый ввод, а затем обработать, то sys.stdin.readlines()
Операторы множеств.

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

Помимо обычных методов, у множеств имеется поддержка различных операторов таких как: объединение, пересечение, симметрическая разность, обычная разность и некоторые другие.
Форматируем строку с помощью f-строк.

f-
строки очень похожи на метод .format(), но при этом они являются более емким способ сделать то же самое, всего-лишь добавив к строке букву f в качестве префикса.

Последовательный порядок из метода конкатенации
Модульность метода .format()

Данные достоинства обуславливают все большее количество разработчиков, которые используют именно этот метод. Помимо этого. его попросту очень легко освоить. Поэтому f-строки очень хороши для новичков в программировании.