Pythoner
Відкрити в Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
Показати більше6 774
Підписники
-724 години
-337 днів
-5730 день
Архів дописів
6 774
ℹ️ Работа с Django ORM
Django ORM (Object-Relational Mapping) - это мощный инструмент, который позволяет разработчикам взаимодействовать с базой данных с помощью объектов Python. Он предоставляет удобный способ работать с данными, без необходимости писать сложные SQL-запросы.
➡️ Создание моделей
Одним из ключевых аспектов работы с Django ORM является создание моделей. Модель - это класс Python, который определяет структуру таблицы в базе данных. Django ORM автоматически создает таблицу в соответствии с определенной моделью. Модели могут содержать поля, отражающие столбцы таблицы, а также методы и связи с другими моделями. Определение модели в Django ORM очень простое и интуитивно понятное, что делает процесс разработки удобным и эффективным.
Вот пример создания модели в Django ORM:
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=100)
price = models.DecimalField(max_digits=5, decimal_places=2)
description = models.TextField()
➡️ Запросы к базе данных
С помощью Django ORM можно выполнять различные типы запросов, такие как выборка данных, фильтрация, сортировка, агрегирование и многое другое.
Вот примеры основных команд для выполнения запросов в Django ORM:
# Выборка всех объектов модели
products = Product.objects.all()
# Фильтрация объектов по условию
cheap_products = Product.objects.filter(price__lt=10)
# Сортировка объектов
sorted_products = Product.objects.order_by('-price')
# Агрегирование данных
total_price = Product.objects.aggregate(Sum('price'))
➡️ Миграции базы данных
Еще одно важное преимущество работы с Django ORM - это возможность автоматического создания и применения миграций базы данных. Миграции позволяют легко изменять структуру базы данных, добавлять новые таблицы, поля или изменять существующие. Django ORM автоматически отслеживает изменения в моделях и генерирует миграционные файлы, которые можно применить к базе данных. Это упрощает процесс разработки и поддержки приложения.6 774
🖥Списковое включение (быстрый способ)
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
6 774
3, 2 … Остановимся здесь. 🐍
Потому что 2 недель достаточно, чтобы познакомиться с основами Python и понять, подходит ли вам это направление!
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) — гарантируем.
Расклад такой: мы даем вам базу — больше 70 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.
Если переживайте — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.
⏰ Старт курса уже 27 февраля, присоединяйтесь!
6 774
🐍Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
6 774
💻 Выключить компьютер при помощи Python
Выключение компьютера может быть необходимым во многих ситуациях. Например, вы хотите, чтобы компьютер выключился после завершения какой-то задачи или просто хотите сэкономить энергию.
➡️ Использование
os module
Один из способов выключить компьютер при помощи Python - использовать модуль os. Этот модуль предоставляет функции для работы с операционной системой. Для выключения компьютера мы можем использовать функцию system с параметром "shutdown -s -t 0". Вот пример кода:
import os
os.system("shutdown -s -t 0")
Этот код выполнит команду "shutdown -s -t 0", которая выключит компьютер через 0 секунд. Вы можете изменить значение параметра -t в зависимости от того, через сколько секунд вы хотите выключить компьютер.
➡️ Использование subprocess module
Еще один способ выключить компьютер при помощи Python - использовать модуль subprocess. Этот модуль предоставляет возможность запускать новые процессы, в том числе и команды операционной системы. Для выключения компьютера мы можем использовать функцию call с параметрами ["shutdown", "-s", "-t", "0"]. Вот пример кода:
import subprocess
subprocess.call(["shutdown", "-s", "-t", "0"])
Этот код выполнит команду "shutdown -s -t 0", которая выключит компьютер через 0 секунд.
➡️ Использование win32api module (Windows only)
Если вы используете операционную систему Windows, еще один способ выключить компьютер при помощи Python - использовать модуль win32api. Этот модуль предоставляет функции для взаимодействия с операционной системой Windows. Для выключения компьютера мы можем использовать функцию ExitWindowsEx с параметром 0x00000008. Вот пример кода:
import win32api
win32api.ExitWindowsEx(0x00000008)
Этот код выполнит команду ExitWindowsEx(0x00000008), которая выключит компьютер.6 774
📷Разбиваем видео на n кол-во изображений
Для разбиения видео на n количество изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция
video_to_images принимает путь к видео (video_path) и количество желаемых изображений (frames_count). Она открывает видеофайл, читает каждый кадр и сохраняет каждый "шаг" кадров как отдельное изображение. Затем функция прекращает обработку, когда необходимое количество изображений сохранено.
Обратите внимание, что код использует целочисленное деление // и целочисленное преобразование int() для обеспечения, чтобы каждое изображение было сохранено через примерно одинаковое количество кадров, чтобы равномерно распределить их по времени видео.6 774
📂 Узнать размер файла при помощи Python
➡️ Использование функции os.path.getsize()
Одним из способов узнать размер файла в Python является использование функции
os.path.getsize(). Эта функция из модуля os.path возвращает размер файла в байтах. Вот пример, как можно использовать эту функцию:
import os
# Путь к файлу
file_path = 'path/to/file.txt'
# Получить размер файла
file_size = os.path.getsize(file_path)
print(f"Размер файла: {file_size} байт")
➡️ Использование модуля pathlib
Другой способ узнать размер файла в Python - использовать модуль pathlib. Этот модуль предоставляет удобные методы для работы с путями к файлам и папкам. Чтобы узнать размер файла с помощью pathlib, можно использовать метод stat(), который возвращает объект os.stat_result, содержащий информацию о файле. Вот пример кода:
from pathlib import Path
# Путь к файлу
file_path = Path('path/to/file.txt')
# Получить размер файла
file_size = file_path.stat().st_size
print(f"Размер файла: {file_size} байт")
➡️ Использование модуля os.stat()
Третий способ узнать размер файла - использовать модуль os.stat(). Этот модуль также предоставляет информацию о файле, включая его размер. Вот пример кода:
import os
# Путь к файлу
file_path = 'path/to/file.txt'
# Получить информацию о файле
file_info = os.stat(file_path)
# Получить размер файла
file_size = file_info.st_size
print(f"Размер файла: {file_size} байт")6 774
❓ Разбор
dict() работает так, что он либо ничего не принимает и возвращает {}, либо принимает список из списков ключ-значение. Вот так:
[["key", "value"], ] -> {"key": "value",}
Но мы же знаем что строка тоже итерируется, следовательно первый символ строки становится ключом, а второй - значением. Так и выходит результат {'A': 'B', 'O': 'L', 'Q': 'N'}
[Debriefing finished]
6 774
Technogram Inside | IT 👨💻 завел канал в Telegram!
Только здесь вы узнаете о самых безумных научных открытиях и технологиях, которые поразят ваше воображение, а так же узнаете самую актуальную информацию из мира IT-индустрии.
Наслаждайтесь - Technogram Inside | IT
6 774
🐍Scikit-learn
Scikit-learn - это библиотека машинного обучения для Python, которая предоставляет инструменты и алгоритмы для построения моделей машинного обучения, обработки данных и оценки их качества.
Библиотека содержит множество классических алгоритмов, таких как SVM, случайные леса, наивный Байес и другие, а также инструменты для предобработки данных, выбора признаков, кросс-валидации и оценки моделей. Scikit-learn имеет простой и понятный API, что делает ее прекрасным выбором для начинающих в области машинного обучения.
❓В примере на фото сверху код создает случайные данные, разделяет их на обучающий и тестовый наборы, обучает модель линейной регрессии на обучающем наборе, делает предсказания на тестовом наборе и выводит коэффициенты модели и среднюю квадратичную ошибку.
6 774
📈Altair
Библиотека Altair - это инструмент для визуализации данных в Python, который основан на библиотеке Vega и предоставляет простой интерфейс для создания красивых и информативных графиков.
В примере на фото выше мы создаем набор данных с двумя столбцами 'x' и 'y', затем создаем точечный график с помощью Altair, используя эти столбцы в качестве осей x и y. Метод
mark_circle(size=100) указывает, что на графике мы будем использовать круглые маркеры определенного размера для каждой точки.
Наконец, метод chart.show() отображает созданный точечный график.
Это простой пример, но с помощью Altair можно создавать более сложные и интересные визуализации данных, такие как линейные графики, столбчатые диаграммы или гистограммы.6 774
Не нужно опыта и знаний в IT-сфере, чтобы попробовать себя в роли Python-разработчика в 2024 году. На бесплатном мини-курсе по Python вы на практике познакомитесь с задачами разработчиков, сделаете 4 крутых проекта и поймёте, ваша ли это профессия.
Зарегистрируйтесь сейчас и получите полезный гайд по профессии. Из него вы узнаете, почему Python — идеальный язык для новичка: https://epic.st/I-q4Tj
За 4 занятия изучите видеоматериалы. Практические работы и тесты будут после каждого видео. Научитесь создавать полезные приложения: от Telegram-ботов, которые упрощают жизнь, до сайтов и парсеров — программ для извлечения нужных данных из интернета.
В финале вас ждёт прямой эфир с экспертом Анастасией Борневой — руководителем направления по исследованию данных в «Сбере». В прямом эфире она поделится профессиональными секретами, разберёт ваши работы и ответит на вопросы.
Всем участникам дарим годовой доступ к изучению английского языка, набор полезных статей для начинающего разработчика и скидку 10 000 рублей на любой курс.
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880.
6 774
⁉️ А вы знали что для разных людей можно делать разные меню команд в Телеграм ботах?
👀 Не поняли? Сейчас объясню.
Допустим у нас в боте есть 4 команды:
/start, /info, /admin и /send.
старт должен быть доступен всем пользователям. Инфо только в группах, админ для админов чатов, а сенд для админов Бота (определенные пользователи). Все это можно реализовать с помощью CommandScope!
🌐 Чтобы такое сделать, надо когда задаёте команды через bot.set_my_commands - передавать нужный скоуп. дока тут.
6 774
⁉️Что такое GUI и TUI?
🔆GUI - Graphical User Interface - оно использует графические элементы, по типу окон, кнопок, иконок, и т.п. В основнов управляется с помощью мышки. К примеру:
1. Firefox
2. Telegram Desktop
3. OBS Studio
🔆TUI - Text user interface - оно использует текстовой ввод, и работает в основном в терминале. Также почти все TUI программы управляются через клавиатуру, но также может быть поддержка мышки, если у вас конечно есть графическая оболочка или оконный менеджер. Это более простой и легковесный интерфейс, по сравнению с GUI, и потребляет меньше оперативной памяти, примеры TUI программ:
1. Neovim
2. W3M
3. NetworkManager (nmtui)
‼️Они отличаются тем, что GUI в отличии от TUI нельзя запустить прямо в терминале, а также он более легковесный, и иногда может заменить IDE, браузера, мессенджеры
6 774
🖥Нахождение наиболее частых элементов списка.
Если необходимо найти несколько наиболее часто повторяющихся значений, лучше воспользоваться счетчиком
Counter из библиотеки collections.
Метод Counter.most_common(x) возвращает x кортежей, в которых первое значение – элемент, а второе – количество его повторений.6 774
🐍Генераторные выражения и списковые включения.
В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые.
🔵Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.
Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
