Веб-версияОткрыть в Telegram
PPython RU
Python RU
✅ Высокое доверие
@pro_python_code · канал · Технологии · в индексе с 2026-05-24 архив за июнь 2023
12 333подписчиков−39 за неделю
749средний охват поста
6.1%ER — охват к подписчикам
14постов за 30 дней

Посты за июнь 2023

‹ июнь 2023 ›×
P
Python RU
🖥 Полезный совет: Проверяйте код с использованием линтера Линтер анализирует код и ищет в нём ошибки, которые можно обнаружить автоматически. Перед отправкой изменений в репозиторий код всегда полезно проверять с помощью линтера. Различные IDE и редакторы кода, вроде pycharm и VS Code, содержат встроенные линтеры и подсвечивают проблемные участки кода. Программист сам принимает решение о том, следовать этим рекомендациям или нет. Поначалу сообщения об ошибках, выдаваемые линтерами, могут показаться непонятными. Для того чтобы в них ориентироваться, стоит уделить некоторое время изучению используемого линтера. Это себя окупит. Если говорить о линтерах, представленных инструментами командной строки, то в этой сфере я порекомендовал бы flake8. Этот линтер обладает разумными настройками, применяемыми по умолчанию. Обычно ошибки, о которых он сообщает, стоит исправлять. Если вы хотите строже относиться к своему коду — взгляните на pylint. Этот линтер способен выявлять множество ошибок, в число которых входят и те, о которых мы тут не говорим. ▍Примеры Файл, который нужно почистить В нижеприведённом коде (файл ping.py) можно увидеть некоторые проблемы и без применения линтера. import requests import os def PingExample(): result = requests.get("https://example.com/ping") Давайте проанализируем его с помощью flake8 и pylint. Результаты анализа кода с помощью flake8 flake8 ping.py ping.py:2:1: F401 'os' imported but unused ping.py:4:1: E302 expected 2 blank lines, found 1 ping.py:5:5: F841 local variable 'result' is assigned to but never used Результаты анализа кода с помощью pylint pylint ping.py ************* Module ping ping.py:1:0: C0114: Missing module docstring (missing-module-docstring) ping.py:4:0: C0103: Function name "PingExample" doesn't conform to snake_case naming style (invalid-name) ping.py:4:0: C0116: Missing function or method docstring (missing-function-docstring) ping.py:5:4: W0612: Unused variable 'result' (unused-variable) ping.py:2:0:
👍8🔥3❤1
15 · 2.6K ·
P
Python RU
🖥 Если вы используете сторонние библиотеки — добавьте в репозиторий файл requirements.txt Если в проекте используются сторонние зависимости, об этом нужно сообщить. Легче всего это сделать, создав файл requirements.txt в корневой директории проекта. В каждой строке этого файла приводятся сведения об одной зависимости. Нужно, кроме того, добавить инструкции по работе с этим файлом в README. Подробности о requirements.txt можно найти в руководстве пользователя по pip. ▍Примеры Файл requirements.txt для Flask-приложения Добавление файла requirements.txt в корневую директорию проекта — это самый лёгкий способ отслеживания зависимостей. Можно, помимо сведений о самих зависимостях, дать сведения и об их версиях. Вот пример файла requirements.txt: gunicorn Flask>=1.1 Flask-SQLAlchemy psycopg2 Указание более подробных сведений о зависимостях с использованием файла requirements.in При работе над любым проектом всегда полезно иметь возможность воспроизведения его окружения. В результате, даже если вышла новая версия какой-нибудь библиотеки, можно использовать старую, проверенную в деле версию, работая с ней до тех пор, пока не будет решено перейти на новую. Это называется «фиксацией зависимостей». Легче всего это можно сделать, прибегнув к pip-tools. При таком подходе в вашем распоряжении окажется два файла: requirements.in и requirements.txt. Второй из них при этом вручную не модифицируют, просто добавляя его в репозиторий вместе с requirements.in. Вот как выглядит файл requirements.in: gunicorn Flask>=1.1 Flask-SQLAlchemy psycopg2 Для того чтобы на основе этого файла был бы автоматически создан requirements.txt, файл requirements.in компилируют, используя команду pip-compile. Вот как выглядит автоматически сгенерированный файл requirements.txt: # # This file is autogenerated by pip-compile # To update, run: # # pip-compile # click==7.1.2 # via flask flask-sqlalchemy==2.4.4 # via -r requirements.in flask==1.1.2 # via -r requirements.i
❤9🔥2👍1
23 · 2.5K ·
P
Python RU
Фотография
нажмите — покажем
🔍 Python: Создание сканера портов В этом уроке я проведу вас через процесс создания простого сканера портов с помощью Python. ▪ Читать @pro_python_code
👍6🔥1❤1
31 · 2.4K ·
Python RU
📌 Poetry Poetry  —  это удобный инструмент для управления версиями и зависимостями Python. С его помощью легко контролировать и корректировать версии, а также централизованно управлять зависимостями. Из всех способов сделать это рекомендую poetry. Теперь кратко о том, как использовать этот инструмент. Основой управления зависимостями в poetry является файл pyproject.toml. В нашем проекте он начинается следующим образом: [tool.poetry] name = "Sample Python Project" version = "0.1.0" description = "Sample Python repository" authors = ["hermanmichaels <[email protected]>"] [tool.poetry.dependencies] python = "3.10" matplotlib = "3.5.1" mypy = "0.910" numpy = "1.22.3" pytest = "7.1.2" black = "22.3.0" flake8 = "4.0.1" isort = "^5.10.1" Как видите, заголовок определяет и раскрывает основные свойства проекта. За ним следует абзац, определяющий необходимые зависимости. Нужно просто выполнить poetry install в терминале, и poetry автоматически создаст среду Python со всеми установленными зависимостями. Затем можно войти в него через poetry shell. После добавления новой зависимости нужно запустить poetry update. Это создаст или обновит файл poetry.lock, который можно представить как двоичное представление вышеуказанных зависимостей. Его также нужно будет добавить в репозиторий, и описанный выше процесс установки требований использует этот файл. @pro_python_code
👍7❤1🔥1
19 · 2.2K ·
P
🔥 5 примеров использования Redis с кодом на Python 1. Caching Redis можно использовать для кэширования часто используемых данных, снижая нагрузку на ваше основное хранилище данных. Вот пример того, как реализовать кэширование с помощью Redis в Python import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def get_data_from_cache(key): # Check if data exists in the cache if r.exists(key): # Retrieve data from the cache data = r.get(key) return data.decode('utf-8') # Convert bytes to string else: # Fetch data from the primary data source data = fetch_data_from_source() # Store data in the cache with a timeout of 1 hour r.setex(key, 3600, data) return data 2. Pub/Sub (Publish/Subscribe): Redis поддерживает паттерн pub/sub, позволяя вам создавать системы обмена сообщениями. Вот пример: import redis import time # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def publish_message(channel, message): # Publish a message to the specified channel r.publish(channel, message) def subscribe_channel(channel): # Subscribe to a channel and process incoming messages pubsub = r.pubsub() pubsub.subscribe(channel) for message in pubsub.listen(): print(message['data'].decode('utf-8')) # Process the received message 3. Rate Limiting: Redis можно использовать для реализации ограничения скорости, чтобы контролировать количество запросов или операций за период времени. Пример: import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def check_rate_limit(ip_address): # Increment the request count for the IP address request_count = r.incr(ip_address) # If the count exceeds the limit (e.g., 100 requests per minute), deny the request if request_count > 100: return False return True 4. Session Storage: Redis можно использовать для хранения данных сеанса в веб-приложения
👍8❤2🔥1
34 · 2.3K ·
P
Python RU
🖥 Быстрый веб-скрейпинг с библиотекой Polars Polars — это библиотека Python для работы с датафреймами, по скорости превосходящая Pandas. Как и Pandas, Polars можно использовать для парсинга сайтов. С ее помощью можно читать любые CSV-файлы, опубликованные на сайте, и даже извлекать таблицы из HTML-страниц. Однако в настоящее время в Polars нет функции .read_html, как в Pandas. Поэтому я покажу обходной путь, позволяющий превратить таблицы с HTML-страниц в Polars-датафреймы. Скрейпинг нескольких CSV-файлов с использованием Polars Не скачивайте по одному CSV-файлы, загруженные на сайт, а прочитайте их с помощью Polars. Для этого нужно получить ссылку на файлы и использовать .read_csv. Мы используем сайт Football-Data, который предоставляет исторические данные о футбольных матчах высших лиг всего мира. Проведем скрейпинг CSV-файла из Premier League (Премьер-лига). Чтобы CSV-файл “Премьер-лига” оказался в списке сверху, нужно сначала получить его ссылку. Для этого наведите курсор на CSV-файл и нажмите “Copy Link Address” (“Копировать адрес ссылки”). Получаем такую ссылку. Теперь прочитаем ее с Polars. import polars as pl pl.read_csv('https://www.football-data.co.uk/mmz4281/2122/E0.csv') Получаем датафрейм Polars со всеми данными: Но это только CSV-файл с данными Премьер-лиги. Чтобы получить файлы с данными других лиг, таких как Championship (Чемпионат), League 1 (Лига 1) и League 2 (Лига 2), нужно добавить цикл for. Вот как это сделать: import polars as pl leagues = ['E0', 'E1', 'E2', 'E3', 'EC'] # список лиг frames = [] for league in leagues: df = pd.read_csv(root + "2122" + "/" + league + ".csv") frames.append(df) Приведенный выше цикл извлечет CSV-файлы из всех соревнований в сезоне 21/22. Список leagues содержит идентификатор каждой лиги. Например, “E0” означает Премьер-лигу. Те же шаги можно выполнить для извлечения файлов из нескольких сезонов. Теперь посмотрим, как извлекать данные из таблиц на HTML-страницах. Скрейпинг HTML-страниц с
👍6❤2🔥2
53 · 2.6K ·
P
Python RU
Фотография
нажмите — покажем
9 скриптов автоматизации Python для решения проблем В нашей повседневной работе нам нужно выполнять некоторые скучные и повторяющиеся задачи, такие как копирование файлов, перемещение файлов, отправка Gmail, создание резервных копий, перевод текста и многое другое, но теперь вы можете автоматизировать их и сэкономить большую часть своего драгоценного времени. В этой статье я покажу вам 9 скриптов Python для автоматизации задач. Читать @pro_python_code
👍8❤3🔥2👎1
59 · 2.9K ·
P
Python RU
Фотография
нажмите — покажем
PyGame: учебник по программированию игр на Python Когда я начал изучать компьютерное программирование в конце прошлого тысячелетия, это было вызвано моим желанием писать компьютерные игры. Я пытался понять, как писать игры на каждом языке и на каждой платформе, которую я изучил, включая Python. Так я обнаружил pygame и научился использовать его для написания игр и других графических программ. В этой статье вы сможете самостоятельно реализовать свою первую игру, опираясь на данное руководство! Читать @pro_python_code
👍7🔥2❤2
53 · 3.2K ·
P
Python RU
Фотография
нажмите — покажем
🧑‍💻 38 языков программирования. Я попробовал их все! В этой статье мне бы хотелось поделиться с вами своим опыт знакомства с более чем 30 языками программирования. Я надеюсь, что, ознакомившись с данным пособием, вы узнаете что-то новое и сможете выбрать язык программирования для собственных целей. ▪ Читать @pro_python_code
👍6❤2🥰2
27 · 2.8K ·
P
Python RU
Фотография
нажмите — покажем
Модель SQLAlchemy с базой данных SQL Server в Python В этой статье я покажу вам, как создать модель на основе существующей базы данных SQL Server, используя ту же файловую структуру, чтобы сохранить организованность нашего проекта. Это означает, что каждый класс и модель базы данных будут храниться в отдельном файле. ▪ Читать @pro_python_code
🔥6👍3❤1
17 · 2.6K ·
P
Python RU
20 полезных однострочников на Python. 1. Поменять местами две переменные: `` a, b = b, a ``` 2. Найти максимальное или минимальное значение в списке: max_value = max(lst) min_value = min(lst) 3. Найти индекс максимального или минимального значения в списке: max_index = lst.index(max(lst)) min_index = lst.index(min(lst)) 4. Конкатенация списка строк: concatenated_string = ''.join(lst) 5. Подсчет вхождений элемента в список: count = lst.count(item) 6. Переворачиваем строку: reversed_string = string[::-1] 7. Преобразование строки в список символов: char_list = list(string) 8. Сортировка списка в порядке убывания: sorted_list = sorted(lst, reverse=True) 9. Удаление дубликатов из списка: unique_list = list(set(lst)) 10. Вычислить сумму списка чисел: total = sum(lst) 11. Проверить, все ли элементы списка удовлетворяют условию: all_true = all(item > 0 for item in lst) 12. Проверьте, удовлетворяет ли условию любой элемент списка: any_true = any(item > 0 for item in lst) 13. Фильтр списка на основе условия filtered_list = [item for item in lst if condition] 14. Получение последнего элемента списка: element_counts = {item: lst.count(item) for item in set(lst)} 15. Получение уникальных элементов и их количества в списке: element_counts = {item: lst.count(item) for item in set(lst)} 16. Сжимаем вложенный список: flattened_list = [item for sublist in nested_list for item in sublist] ``` 17. Найдите факториал числа: factorial = 1 if num == 0 else num * factorial(num - 1) 18. Проверить, является ли строка палиндромом: is_palindrome = string == string[::-1] ``` 19. Преобразование списка в строку, разделенную запятым: csv_string = ','.join(map(str, lst)) 20. Получение расширения файла file_extension = os.path.splitext(filename)[1] @pro_python_code
👍22❤5🔥3👎2😱1
115 · 3.1K ·
P
Python RU
Фотография
нажмите — покажем
8 крутых способов свести функции Python в одну строку ▪Видео ▪Статья @pro_python_code
🔥9👍3❤2
25 · 2.7K ·
P
Python RU
Фотография
нажмите — покажем
Python itertools.compress. Удобный способ фильтрации данных ▪Видео @pro_python_code
👍4🔥2❤1
16 · 2.5K ·
P
Python RU
🖥 Полезные приемы с кодом для аналитиков данных на Python 1. Python itertools groupby удобный способ группировки - https://www.youtube.com/watch?v=Rt1gl4fM62k 2. Полезные приемы в Pandas - https://www.youtube.com/watch?v=Sd2S5rXe8sY&t=165s 3. Раскройте потенциал Python Numpy: руководство для начинающих в науке о данных - https://www.youtube.com/watch?v=XX2XremQ0fg&t=12s 4. Data science c Python.Ускоряем Pandas в 120 раз- https://www.youtube.com/watch?v=-dAdaEv23vk&t=4s 5. 26 практических приёмов и хитростей Python - https://www.youtube.com/watch?v=vAMyfvtxxdQ&t=5s 6. 5 декораторов Python для Data Science проектов - https://www.youtube.com/watch?v=rxq11WHAlqU 7. ChatGPT + Midjouney на практике - https://www.youtube.com/watch?v=2gUqbc3Ikmo&t=5s 8. Разбор вопросов с собеседований Python - https://www.youtube.com/watch?v=4L1e-A3AOL4&t=5s 9. 15 полезных лайфхаков с кодом Машинного обучения на Python - https://www.youtube.com/watch?v=loOtlwcdiBA&t=4s 10. Декораторы Python, которые выведут ваш код на новый уровень - https://www.youtube.com/watch?v=qxrGAogl4iM 11. 7 инструментов Python, который должен знать каждый специалист машинного обучения - https://www.youtube.com/watch?v=RGEftBi0C9Y 12. Как загружать данные в SQL в 20 раз быстрее на Python - https://www.youtube.com/watch?v=eyeR1uWLnpM&t=2s 13. Data Science. Полезные советы по библиотеке Pandas - https://www.youtube.com/watch?v=neXc5Q-AWXY&t=3s 14. Data Science. Полезные советы по библиотеке Pandas - https://www.youtube.com/watch?v=neXc5Q-AWXY&t=3s 15. Дзен Python ООП: лучшие практики и шаблоны проектирования Python - https://www.youtube.com/watch?v=_MtX6QFJBRU 16. Python itertools. Хитрый способ избежать вложенных циклов - https://www.youtube.com/watch?v=TSvjYKIY01I&t=3s 17. Python. Генерация списка, словаря или множества в одну строку кода - https://www.youtube.com/watch?v=zS3HePvtxVc&t=10s 18. 8 крутых способов свести функции Python в одну строку - https://www.youtube.com/watch?v=jo3Q-rMggXk 1
❤5👍2🔥1
141 · 4K ·
P
Python RU
🖨Как построить сканер SQL-инъекций на Python SQL-инъекция – это техника инъекции кода, которая используется для выполнения SQL-запросов через данные, вводимые пользователем в уязвимое веб-приложение. Это одна из самых распространенных и опасных техник взлома веб-приложений. ▪Установим необходимые библиотеки для этого урока: pip3 install requests bs4 ▪Импортируем необходимые модули: import requests from bs4 import BeautifulSoup as bs from urllib.parse import urljoin from pprint import pprint # initialize an HTTP session & set the browser s = requests.Session() s.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36" Мы также инициализировали сессию запросов и установили пользовательский агент. ▪Поскольку SQL-инъекция – это все о пользовательском вводе, нам нужно будет сначала извлечь веб-формы. Нам понадобятся следующие функции: def get_all_forms(url): """Given a `url`, it returns all forms from the HTML content""" soup = bs(s.get(url).content, "html.parser") return soup.find_all("form") def get_form_details(form): """ This function extracts all possible useful information about an HTML `form` """ details = {} # get the form action (target url) try: action = form.attrs.get("action").lower() except: action = None # get the form method (POST, GET, etc.) method = form.attrs.get("method", "get").lower() # get all the input details such as type and name inputs = [] for input_tag in form.find_all("input"): input_type = input_tag.attrs.get("type", "text") input_name = input_tag.attrs.get("name") input_value = input_tag.attrs.get("value", "") inputs.append({"type": input_type, "name": input_name, "value": input_value}) # put everything to the resulting dictionary details["action"] = action details["method"] = method details["inputs"] = inputs return detail
👍4🔥3❤1
46 · 2.8K ·
P
Python RU
Фотография
нажмите — покажем
Как ускорить ваш код на Python Python — это универсальный язык программирования, который широко используется в различных областях, таких как веб-разработка, анализ данных, машинное обучение и искусственный интеллект. Одной из основных причин его популярности является простота и удобочитаемость, что облегчает разработчикам написание и понимание кода. Однако одним из недостатков Python является его производительность, которая относительно ниже по сравнению с другими языками программирования, такими как C или Java. Поэтому очень важно писать эффективный код для обеспечения оптимальной производительности. В этой статье мы рассмотрим некоторые советы и рекомендации о том, как писать более качественный и эффективный код на Python. Эти методы могут помочь вам оптимизировать код, сократить время его выполнения и улучшить его общее состояние. Давайте начинать! Читать @pro_python_code
👍6❤3🔥1
30 · 3.1K ·
P
Python RU
Фотография
нажмите — покажем
10 проектов Python для оттачивания навыков Python, универсальный и широко используемый язык программирования, предоставляет разработчикам уникальное сочетание мощности и простоты. В этой статье мы рассмотрим десять программ Python, которые демонстрируют возможности языка и то, как Python упрощает написание кода сложных задач. ▪ Читать @pro_python_code
👍7🔥2❤1
74 · 3K ·
P
Python RU
🗣Создаем проект по распознаванию речи в Python Распознавание речи – это технология, позволяющая преобразовывать человеческую речь в цифровой текст. В этом руководстве вы узнаете, как выполнить автоматическое распознавание речи с помощью Python. В этом практическом руководстве, вы научитесь использовать: ▪Библиотека SpeechRecognition: Эта библиотека содержит несколько движков и API, как онлайн, так и офлайн. Мы будем использовать Google Speech Recognition, так как он быстрее запускается и не требует ключа API. У нас есть отдельный учебник по этому вопросу. ▪API Whisper: Whisper – это надежная модель распознавания речи общего назначения, выпущенная OpenAI. API стал доступен 1 марта 2023 года. Мы будем использовать API OpenAI для распознавания речи. ▪Работать с Whisper, которая имеет открытый исходный код. Поэтому мы можем напрямую использовать наши вычислительные ресурсы для выполнения ASR. У нас будет гибкость и возможность выбора, какой размер модели Whisper использовать. 📌 Читать @pro_python_code
❤4🔥2👍1
43 · 3.1K ·
Календарь: июнь 2023
ПнВтСрЧтПтСбВс121341516278911011111211314115116171181191201212212312425262712812930

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем