Python library_Hub
746 subscribers
106 photos
4 videos
106 files
122 links
Библиотека и обучение по Python. Задачи и их решения. Примеры написания кода и готовые варианты под конкретные задачи. Только полезная инфа!
Download Telegram
flake8

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

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

Интерпретатор
— это программа, которая конвертирует ваши инструкции, написанные на Python, в байт-код и выполняет их. По сути интерпретатор — это программный слой между вашим исходным кодом и железом.

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

CPython:
— считается эталонной реализацией языка Python:
— интерпретатор компилирующего типа (благодаря этому достигается большее быстродействие выполнения программ).
— написан на C;
— исходный код CPython находится в открытом доступе;
— его разработка ведётся группой разработчиков под руководством Гвидо ван Россума — создателя Python;

Кроме этого, у интерпретатора CPython есть особенность — он может работать в режиме диалога (REPL — read-eval-print loop). Интерпретатор считывает законченную конструкцию языка, выполняет её, печатает результаты и переходит к ожиданию ввода пользователем следующей конструкции.
#python #обучение
👍2
Pyperclip – копирование и вставка в буфер обмена

Для этого нам будет нужна библиотека pyperclip. Она выполняет самые простые функции по копированию и считыванию текста.

Установка: pip install pyperclip

Вот, что она умеет:

copy(text: str) — получает строку и записывает её в буфер обмена

paste() — возвращает текст из буфера.

Если вы последовательно скопируете два значения в буфер обмена, первое будет перезаписано. Буфер обмена может иметь только одно значение.
#python #обучение
Генерация случайных данных

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

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

Чтобы установить Faker мы используем pip :

pip3 install Faker

Затем мы можем очень легко начать генерировать случайные данные, создав экземпляр класса Faker.
#python #обучение
Python - императивный язык программирования

Императивный подход - ты рассказываешь машине, как решить задачу.

— купить инструменты
— купить кирпич
— строить дом

Декларативный подход - ты рассказываешь машине, какой результат от нее хочешь.

— хочу новый дом
#python #обучение
Интроспекция в Python

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

Примеры полезных функций интроспекции в Python:

dir();
type();
hasattr();
id();
isinstance()

#python #обучение
👍1
Присваивания срезам

Представьте, что у вас есть задача заменить каждое второе строковое значение на непосредственно предшествующее ему.

Присваивания срезам самый простейший и наиболее эффективный способ решения нашей маленькой задачи.

Результат представляет собой исходный список, в котором все строковые значения 'null', 'False', 'undefined', '****', 'corrupted', 'nothing' заменены предшествующими им строковыми значениями с указанием браузера.

Вы использовали простую и лаконичную методику модификации списков, причем без создания дополнительных объектов, что хорошо отражается на скорости работы программы.
#python #обучение
Python — отличный скриптовый язык. Но иногда стандартные библиотеки os и subprocess вызывают только головную боль.

Библиотека sh может стать приятной альтернативой.

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

Библиотека sh поддерживает только платформы Linux и macOS. Для работы на Windows нужно поискать другой инструмент.
#python #обучение
Модуль dis

Вы когда-нибудь задумывались, что Python делает под капотом? Со стандартным модулем библиотеки dis вы можете легко посмотреть. Эта библиотека позволяет декомпилировать байт-код Python и изучить его.
#python #обучение
👍1
https://pythonist.ru/osnovy-python-izuchaem-bazovye-konczepczii-yazyka/?utm_source=telegram&utm_medium=pythonist
Эта статья рассчитана как на новичков в программировании, так и на программистов, которые уже владеют каким-либо языком, но хотят освоить еще и Python. Также она пригодится тем, кто хочет освежить свои знания.

Мы разберем самые основы Python. Начнем с типов данных, а ближе к концу статьи затронем приведение типов и срезы. Также мы познакомимся с некоторыми основными концепциями программирования.
#python #обучение
The Interface Segregation Principle

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

Допустим есть класс Auto с методами комплектаций для всех автомобилей. Если мы наследуемся от интерфейса, то все методы реализованные в нем должны быть описаны в классе-потомке. В результате чего классы могут получить ненужные методы. Для решения этой проблемы мы разделяем интерфейсы.
#python #обучение
Оператор global 👆
Если внутри функции необходимо изменить глобальную переменную, то используется оператор global.

Существует четыре правила для определения локальных и глобальных переменных переменных:

🔺Если переменная используется в вне всех функций, в глобальной зоне видимости, то она всегда является глобальной переменной.

🔺Если в функции для переменной использован оператор global, то это глобальная переменная.

🔺В противном случае, если переменная используется в операторе присваивания в функции, она является локальной переменной.

🔺Но если переменная не используется в операторе присваивания, это глобальная переменная.
#python #обучение
Трюк множественного присва́ивания 👆

Трюк с множественным присва́иванием позволяет назначать нескольким переменным списка в одной строке кода. Например:

>>> cat = ['fat', 'orange', 'loud']
>>> size = cat[0]
>>> color = cat[1]
>>> disposition = cat[2]

Можно ввести следующую строку кода:

>>> cat = ['fat', 'orange', 'loud']
>>> size, color, disposition = cat

Трюк множественного присва́ивания также иможно спользовать для замены значений в двух переменных:

>>> a, b = 'Alice', 'Bob'
>>> a, b = b, a
>>> print(a)
'Bob'
>>> print(b)
'Alice'
#python #обучение
Emoji

Пакет Emoji либо впечатляет, либо огорчает. Все зависит от самого «оценщика». :) Шутки шутками, но этот пакет очень помогает при анализе данных из соцсетей.

Почитать документацию и ознакомиться с другими примерами можно на странице пакета emoji.
#python #обучение
Один из лучших способов ускорения кода — это встроенные функции Python. Их нужно использовать при любой возможности. Эти встроенные функции хорошо протестированы и оптимизированы.

Почему они такие быстрые? Потому что реализованы на языке C. Это относится к таким встроенным функциям Python, как min, max, all, map и другим.

Поэтому в целях более быстрого выполнения кода стоит отдать предпочтение им, а не писать функции вручную.
#обучение
Что такое __pycache__👆

Это папка, внутри которой хранятся файлы .pyc и .pyo.

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

Файлы с расширением .pyc и .pyo — это байткод (что такое байткод?) и оптимизированный байткод. Они создаются заново, если код программы изменился.

Первоначально __pycache__ папки ввели, чтобы удобней поддерживать несколько версий Питон-интерпретатора.
#python #обучение
👆Выражения генераторы

Интересное расширение Python, обобщающее list comprehension, — выражения-генераторы.
Они работают совершенно аналогично list comprehension, только без создания в памяти собственно списка. Числа создаются по ходу дела, без сохранения их явным образом в списке.

Например, вместо вычисления квадратов первых 20 натуральных чисел с помощью list comprehension:

sum([x*x for x in range(20)])

можно воспользоваться выражением-генератором:

sum(x*x for x in range(20))

Использование данного способа ускоряет выполнение программы.
#python #обучение
👍1
Функция help

Если вы находитесь в Python Shell или делаете отладку кода с использованием breakpoint, и хотите знать, как работает определённый объект, метод или атрибут, функция help поможет вам.

В действительности вы, скорее всего, будете обращаться за помощью к поисковой системе. Но если вы уже находитесь в Python Shell, вызов help(list.append) будет быстрее, чем поиск документации в Google.
#python #обучение
Функция abs() возвращает абсолютное значение заданного числа. Если это комплексное число, функция abs() возвращает его величину.
#python #обучение
https://tproger.ru/articles/python-cheatsheets/

Шпаргалка по основам Python
Здесь собраны переменные, методы, индексы и срезы, а также форматирование дат с соответствующими подсказками в сносках. Если вы только начали изучать программирование на языке Python, смело обращайтесь к этой шпаргалке👇🏼
#python #обучение #шпаргалка
👍2