Python Skills 🐍 – Telegram
Python Skills 🐍
307 subscribers
1.02K photos
17 videos
302 links
Канал полезного и юмористического контента на тему программирования, в частности такого языка как Python.

По всем вопросам: @andrey_andrey01
Download Telegram
Приведение типов

Да, Python это динамически типизированный язык программирования. Однако, приведение типов крайне важный аспект разработки. Мы отразили самые распространенные встроенные функции приведения типов.
Вызов программ операционной системы

sh — это полноценный интерфейс, как альтернатива subprocess, который позволяет вызывать любую программу, как если бы это была обычная функция.
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.

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

Также в модуле реализована функция which, которая находит полный путь до программы либо возвращает None, если программа не найдена.

#sh
my_str = 'pypython'
my_str.replace('py', '', 1)
print(my_str)
Anonymous Poll
7%
thon
15%
Error
40%
python
24%
pypython
14%
Посмотреть ответ
Сохраняем объект pickle

Рассмотрим подробный, полный цикл сохранения. Создаем список товаров, создаем файл, записываем в файл с помощью pickle.

Очень просто и легко, можно запаковать в функцию и проблем не будет никаких. Особенно для оперативного использования.
🧑‍💻 Количество строк кода в популярных сервисах/приложениях.

А сколько строк было максимум в ваших проектах? 🤔
​​Находим схожие строки

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

Этот метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент — список, в котором выполняется поиск.

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

#difflib
aiosqlite - это асинхронный вариант библиотеки sqlite3.
Её удобно применять, скажем, в связке с aiogram для разработки телеграм ботов.
Так как выполнение запросов к БД не блокирует основной поток.

Ставится командой pip install aiosqlite
Документация здесь.
Функция setattr()

Функция позволяет устанавливать аттрибуты объекта, это позволяет оперировать объектами более детально и автоматизировано.

Например, в случае, когда мы не знаем изначально в какое поле будем писать данные.
Учитесь, пока не поздно ☝️
Облегчите перебор нескольких списков с помощью zip()

С помощью встроенной функции zip() мы можем все немного упростить.

Обратите внимание: функция zip() возвращает zip-объект, но с помощью приведения типов вы можете преобразовать его — например, с помощью list(), tuple() или dict().
Методы у словарей

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

С помощью метода dict.keys() можно получить ключи словаря в виде списка, dict.values() — то же самое, но со значениями.

А метод dict.items() возвращает список из кортежей, которые содержат ключи и соответствующие значения.

#словари
Anonymous required

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