ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

Python RU

Python RU

前往频道在 Telegram

Все для python разработчиков админ - @haarrp @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j

显示更多

📈 Telegram 频道 Python RU 的分析概览

频道 Python RU (@pro_python_code) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 12 325 名订阅者,在 技术与应用 类别中位列第 10 150,并在 俄罗斯 地区排名第 52 257 位。

📊 受众指标与增长动态

自 невідомо 创建以来,项目保持高速增长,吸引了 12 325 名订阅者。

根据 01 十一月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -22,过去 24 小时变化为 -2,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 8.23%。内容发布后 24 小时内通常能获得 3.15% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 1 014 次浏览,首日通常累积 388 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 4。
  • 主题关注点: 内容集中在 api, docker, github, sql, linux 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
“Все для python разработчиков админ - @haarrp @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j”

凭借高频更新(最新数据采集于 02 十一月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

12 325
订阅者
-224 小时
-67 天
-2230 天
帖子存档
Python RU
12 325
🖨Как построить сканер 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 details Функция get_all_forms() использует библиотеку BeautifulSoup для извлечения всех тегов формы из HTML и возвращает их в виде списка Python, а функция get_form_details() получает в качестве аргумента один объект тега формы и разбирает полезную информацию о форме, такую как действие (целевой URL), метод (GET, POST и т.д.) и все атрибуты поля ввода (тип, имя и значение). ▪Далее мы определяем функцию, которая сообщает нам, есть ли на веб-странице ошибки SQL, это будет удобно при проверке на уязвимость SQL-инъекции: ▪Продолжение @pro_python_code

Python RU
12 325
Python meetup (Online) 1. Методы защиты кластера Hadoop в большой ML команде — Мария Изофатова / Мегафон (Мегатех) Из этого д
Python meetup (Online) 1. Методы защиты кластера Hadoop в большой ML команде — Мария Изофатова / Мегафон (Мегатех) Из этого доклада слушатели узнают способы борьбы с уязвимостями кластера hadoop: репартиционирование (проблема мелких файлов), автоочищение таблиц на кластере, настройка конфигурации pyspark, анализ запущенных spark application и внутреннего кода. 2. Feature engineering для пространственных данных — Александр Мещеряков / Сinimex В этом видео мы обсудим как получить нужные данные и погрузимся в анализ формы объектов, взаимного отношения геометрий и паттернов их расположения. 3. Как мы предсказывали платежи в мобильных играх — Дмитрий Савостьянов / Artifactory В рамках доклада я расскажу о дизайне системы предсказания платежей в мобильных играх. Акцент будет сделан на Data Engineering, MLOps и мониторинг ➖➖➖ 🗓 28 июня, начало в 19:00 мск, Среда 🌐 ОНЛАЙН 🚀 Наш телеграмм канал с анонсами митапов ✅ Регистрация на мероприятие

Python RU
12 325
🖥 Полезные приемы с кодом для аналитиков данных на 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 19. Python itertools.compress. Удобный способ фильтрации данных - https://www.youtube.com/watch?v=8JGHID-_ApU&t=12s 20. Python Match/Case - https://www.youtube.com/watch?v=U_-NIKbKakM 21. Data Science. Советы по написанию эффективного кода на Python - https://www.youtube.com/watch?v=1Mcy-uatp_c&t=14s 🎞 Все видео по анализу данных @pro_python_code

Python RU
12 325
🐍 Курс «Основы программирования на Python» Старт: 3 июля Продолжительность: 2 месяца Курс с полного нуля, начальные знания н
🐍 Курс «Основы программирования на Python» Старт: 3 июля Продолжительность: 2 месяца Курс с полного нуля, начальные знания не нужны! Идеально подойдет новичкам в сфере IT, желающим освоить один из самых популярных языков программирования в мире!  Он охватывает все основные концепции Python, начиная от базовых операций и структур данных, таких как списки и словари, заканчивая более сложными темами - функции, модули и обработка исключений. 🎓 В ходе обучения вы научитесь: — Писать прикладные программы на Python — Разрабатывать приложения для работы с файлами — Работать с регулярными выражениями — Применять условные операторы — Создавать программы с использованием циклов и функций — Работать с модулями и библиотеками— Форматировать вывод данных — Обрабатывать исключения 🏆 Выдаём сертификат при успешной сдаче экзамена 📌 Узнать подробнее о курсе

Python RU
12 325
Python itertools.compress. Удобный способ фильтрации данных ▪Видео @pro_python_code
Python itertools.compress. Удобный способ фильтрации данных ▪Видео @pro_python_code

Python RU
12 325
8 крутых способов свести функции Python в одну строку 📌 Видео @pro_python_code
8 крутых способов свести функции Python в одну строку 📌 Видео @pro_python_code

Python RU
12 325
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]

Python RU
12 325
Модель SQLAlchemy с базой данных SQL Server в Python В этой статье я покажу вам, как создать модель на основе существующей ба
Модель SQLAlchemy с базой данных SQL Server в Python В этой статье я покажу вам, как создать модель на основе существующей базы данных SQL Server, используя ту же файловую структуру, чтобы сохранить организованность нашего проекта. Это означает, что каждый класс и модель базы данных будут храниться в отдельном файле. ▪ Читать @pro_python_code

Python RU
12 325
🧑‍💻 38 языков программирования. Я попробовал их все! В этой статье мне бы хотелось поделиться с вами своим опыт знакомства
🧑‍💻 38 языков программирования. Я попробовал их все! В этой статье мне бы хотелось поделиться с вами своим опыт знакомства с более чем 30 языками программирования. Я надеюсь, что, ознакомившись с данным пособием, вы узнаете что-то новое и сможете выбрать язык программирования для собственных целей. ▪ Читать @pro_python_code

Python RU
12 325
Python itertools. Хитрый способ избежать вложенных циклов https://www.youtube.com/watch?v=TSvjYKIY01I&t=24s @pro_python_code
Python itertools. Хитрый способ избежать вложенных циклов https://www.youtube.com/watch?v=TSvjYKIY01I&t=24s @pro_python_code

Python RU
12 325
PyGame: учебник по программированию игр на Python Когда я начал изучать компьютерное программирование в конце прошлого тысяче
PyGame: учебник по программированию игр на Python Когда я начал изучать компьютерное программирование в конце прошлого тысячелетия, это было вызвано моим желанием писать компьютерные игры. Я пытался понять, как писать игры на каждом языке и на каждой платформе, которую я изучил, включая Python. Так я обнаружил pygame и научился использовать его для написания игр и других графических программ. В этой статье вы сможете самостоятельно реализовать свою первую игру, опираясь на данное руководство! Читать @pro_python_code

Python RU
12 325
9 скриптов автоматизации Python для решения проблем В нашей повседневной работе нам нужно выполнять некоторые скучные и повто
9 скриптов автоматизации Python для решения проблем В нашей повседневной работе нам нужно выполнять некоторые скучные и повторяющиеся задачи, такие как копирование файлов, перемещение файлов, отправка Gmail, создание резервных копий, перевод текста и многое другое, но теперь вы можете автоматизировать их и сэкономить большую часть своего драгоценного времени. В этой статье я покажу вам 9 скриптов Python для автоматизации задач. Читать @pro_python_code

Python RU
12 325
🖥 Быстрый веб-скрейпинг с библиотекой 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-страниц с Polars (обходной путь) Polars нет функции .read_html, которая позволяла бы легко извлекать таблицы из HTML-страниц. Однако есть обходной путь, который поможет превратить таблицы из HTML-страниц в Polars-датафреймы. Для этого в дополнение к Polars нужно установить следующие библиотеки: !pip install pandas !pip install lxml !pip install pyarrow Pandas и lxml помогут извлечь данные, а pyarrow понадобится для превращения Pandas-датафрейма в Polars-датафрейм. Извлечем табличные данные из статьи Википедии “List of The Simpsons episodes (seasons 1–20) (“Список эпизодов “Симпсонов”, сезоны 1–20”): Сначала используем .read_html Pandas для извлечения таблиц из Википедии: import pandas as pd my_list = pd.read_html('https://en.wikipedia.org/wiki/List_of_The_Simpsons_episodes_(seasons_1%E2%80%9320)') my_list содержит список датафреймов. Каждый датафрейм — это таблица со страницы Википедии. Выберем случайную таблицу и назовем ее pandas_df. pandas_df = my_list[5] Теперь нужно использовать .from_pandas, чтобы превратить Pandas-датафрейм в Polars-датафрейм. polars_df = pl.from_pandas(pandas_df) Теперь у нас есть Polars-датафрейм со всеми собранными данными. Чтобы превратить все Pandas-датафреймы из my_list в Polars-датафреймы, можно использовать списковое включение. my_new_list = [pl.from_pandas(pandas_df) for pandas_df in my_list] Вот и все! Теперь вы можете пользоваться всеми преимуществами Polars! Чтобы узнать больше о Polars, ознакомьтесь с официальной документацией или посмотрите полное руководство по Polars. @pro_python_code

Python RU
12 325
🔥 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 можно использовать для хранения данных сеанса в веб-приложениях. Пример: import redis import uuid # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def create_session(user_id): # Generate a unique session ID session_id = str(uuid.uuid4()) # Store the session data in Redis with a timeout of 30 minutes r.setex(session_id, 1800, user_id) return session_id def get_user_id_from_session(session_id): # Retrieve the user ID from the session data in Redis user_id = r.get(session_id) if user_id is not None: return user_id.decode('utf-8') # Convert bytes to string else: return None 5. Leaderboard: Redis можно использовать для создания таблиц лидеров или рейтингов на основе набранных баллов. Пример: import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def update_score(player_id, score): # Update the score of a player r.zadd('leaderboard', {player_id: score}) def get_leaderboard(): # Get the top 10 players from the leaderboard leaderboard = r.zrevrange('leaderboard', 0, 9, withscores=True) for player, score in leaderboard: print(f"Player: {player.decode('utf-8')}, Score: {score}") Это лишь несколько примеров того, как Redis можно использовать в Python. Redis предоставляет множество других мощных функций и структур данных, которые можно использовать в различных приложениях. ▪Github @pro_python_code

Python RU
12 325
📌 Poetry Poetry  —  это удобный инструмент для управления версиями и зависимостями Python. С его помощью легко контролировать и корректировать версии, а также централизованно управлять зависимостями. Из всех способов сделать это рекомендую poetry. Теперь кратко о том, как использовать этот инструмент. Основой управления зависимостями в poetry является файл pyproject.toml. В нашем проекте он начинается следующим образом: [tool.poetry] name = "Sample Python Project" version = "0.1.0" description = "Sample Python repository" authors = ["hermanmichaels <hrmnmichaels@gmail.com>"] [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

Python RU
12 325
🔍 Python: Создание сканера портов В этом уроке я проведу вас через процесс создания простого сканера портов с помощью Python
🔍 Python: Создание сканера портов В этом уроке я проведу вас через процесс создания простого сканера портов с помощью Python. ▪ Читать @pro_python_code

Python RU
12 325
🖥 Если вы используете сторонние библиотеки — добавьте в репозиторий файл 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.in, flask-sqlalchemy gunicorn==20.0.4 # via -r requirements.in itsdangerous==1.1.0 # via flask jinja2==2.11.2 # via flask markupsafe==1.1.1 # via jinja2 psycopg2==2.8.6 # via -r requirements.in sqlalchemy==1.3.19 # via flask-sqlalchemy werkzeug==1.0.1 # via flask # The following packages are considered to be unsafe in a requirements file: # setuptools Как видите, готовый файл содержит сведения о точных версиях всех зависимостей. @pro_python_code

Python RU
12 325
🖥 Полезный совет: Проверяйте код с использованием линтера Линтер анализирует код и ищет в нём ошибки, которые можно обнаружить автоматически. Перед отправкой изменений в репозиторий код всегда полезно проверять с помощью линтера. Различные 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: W0611: Unused import os (unused-import) ping.py:2:0: C0411: standard import "import os" should be placed before "import requests" (wrong-import-order) -------------------------------------------------------------------- Your code has been rated at -5.00/10 (previous run: -5.00/10, +0.00) @pro_python_code

Python RU
12 325
🔥 Бесплатный курс от Google: Learn Python basics for data analysis Основы Python для анализа данных — программирование на Python. https://learndigital.withgoogle.com/digitalunlocked/course/learn-python-basics-for-data-analysis @pro_python_code

Python RU
12 325
🖥 11 бесплатных курсов по Python 1. Автоматизация тестирования с помощью Selenium и Python - Stepik (INT) 2. Добрый, добрый Python - обучающий курс от Сергея Балакирева - Сергей Балакирев (Stepik) (BEG) 3. Основы программирования на Python - Coursera (BEG) 4. Питонтьютор: Бесплатный курс по программированию с нуля - Виталий Павленко, Владимир Соломатин, Д. П. Кириенко, команда Pythontutor (BEG) 5. "Поколение Python": курс для начинающих - Тимур Гуев, Руслан Чаниев, Анри Табуев (Stepik) (BEG) 6. "Поколение Python": курс для продвинутых - Тимур Гуев, Руслан Чаниев, Благотворительный фонд "Айкью Опшн" (Stepik) (INT) 7. Программирование на Python - Тимофей Бондарев, Павел Федотов (Stepik) (BEG) 8. Python: быстрый старт - Дмитрий Фёдоров (BEG) 9. Python для начинающих (BEG) 10. Python для тех, у кого лапки - Мария Чакчурина, Дмитрий Колосов (Stepik) (INT) 11. Python: основы и применение - Константин Зайцев, Антон Гардер (Stepik) (INT) @pro_python_code