Подсчёт числа записей в БД за выбранный период времени
Частой просьбой от хозяев проекта может стать подсчёт записей по дням. Такой SQL-запрос можно встроить в код Python, который запускается по расписанию и автоматизирует подсчёт по дням.
TIMESTAMP_TRUNC() обрежет столбец даты и времени до выбранного диапазона, в нашем случае, дня. COUNT(1) создаст служебный столбец Count и выставит все значения столбца, равными единице. Затем мы сгруппируем все ряды по этой единице, тем самым произведя подсчёт числа рядов.
В результате мы получим вот такой полезный вывод данных ниже:
#SQL
Частой просьбой от хозяев проекта может стать подсчёт записей по дням. Такой SQL-запрос можно встроить в код Python, который запускается по расписанию и автоматизирует подсчёт по дням.
SELECT
TIMESTAMP_TRUNC(Timestamp, day) Timestamp,
COUNT(1) `Count`
FROM table
GROUP BY 1
ORDER BY Timestamp
TIMESTAMP_TRUNC() обрежет столбец даты и времени до выбранного диапазона, в нашем случае, дня. COUNT(1) создаст служебный столбец Count и выставит все значения столбца, равными единице. Затем мы сгруппируем все ряды по этой единице, тем самым произведя подсчёт числа рядов.
В результате мы получим вот такой полезный вывод данных ниже:
#SQL
👍9❤1
Что нового в последней версии Python 3.11: таймер asyncio
Добавлен timeout() — утилита для установки времени ожидания для асинхронных операций. Рекомендуется вместо непосредственного использования wait_for().
А в каких ситуациях вам пригождался asyncio? Нужен ли был ему таймер обратного отсчета? Поделитесь в комментариях.
#лучшиепрактики
Добавлен timeout() — утилита для установки времени ожидания для асинхронных операций. Рекомендуется вместо непосредственного использования wait_for().
import asyncio
# Новое в Python 3.11.
async with asyncio.timeout(delay):
await long_running_task()
А в каких ситуациях вам пригождался asyncio? Нужен ли был ему таймер обратного отсчета? Поделитесь в комментариях.
#лучшиепрактики
👍14
С кем из звезд Python вы бы хотели познакомиться поближе? (Мы планируем пригласить)
Anonymous Poll
87%
Не знаю, у меня лапки
13%
Есть один человечек (напишите в комментариях)
🤡4
Кто читает системные аргументы командной строки: argparse
Модуль позволяет определить аргументы командной строки, которые ваша программа ожидает получить, а затем разобрать их и предоставить доступ к ним в вашем коде. С его помощью вы можете определить именованные, позиционные аргументы, флаги и другие опции командной строки, а также задать типы данных и значения по умолчанию для каждого аргумента.
#лучшиепрактики
Модуль позволяет определить аргументы командной строки, которые ваша программа ожидает получить, а затем разобрать их и предоставить доступ к ним в вашем коде. С его помощью вы можете определить именованные, позиционные аргументы, флаги и другие опции командной строки, а также задать типы данных и значения по умолчанию для каждого аргумента.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", help="display a square of a given number", type=int)
args = parser.parse_args()
print(args.square**2)
>>> 16
#лучшиепрактики
👍6👀2
Как создать свой модуль
В 11-минутном ролике ютьюбер Cidprim показывает на очень простом примере, как создать модуль и импортировать его в существующий код.
#новичкам
В 11-минутном ролике ютьюбер Cidprim показывает на очень простом примере, как создать модуль и импортировать его в существующий код.
#новичкам
👍6
Пять продвинутых фишек Django
В своей статье Steven Pate описывает пять advanced-фишек фреймворка, таких как объекты Q для комбинирования запросов типа ИЛИ + И:
#django
В своей статье Steven Pate описывает пять advanced-фишек фреймворка, таких как объекты Q для комбинирования запросов типа ИЛИ + И:
TickerPrice.objects.filter(
models.Q(price__gt=1000),
(models.Q(close_date=today) | models.Q(close_date=yesterday)),
)
#django
👍10👎2
Как разделить строку по определённому символу
В этом вам поможет split() с ее позиционным аргументом sep (разделителем):
#лучшиепрактики
В этом вам поможет split() с ее позиционным аргументом sep (разделителем):
txt = "apple#banana#cherry#orange"
x = txt.split("#")
print(x)
>>> ['apple', 'banana', 'cherry', 'orange']
#лучшиепрактики
👍16🤯7
Media is too big
VIEW IN TELEGRAM
CodingGame поддерживает Python
codingame.com — живенький эмулятор игр разных жанров для новичков программирования, включая Python. Там студенту в игровой форме предлагают осваивать базовую терминологию и навыки решения задач. Хороший способ развеяться и при этом продолжить учиться, привыкая к процессу разработки.
А в какие игровые приложения вы играли, когда учили Python? Поделитесь в комментариях.
#обучение
codingame.com — живенький эмулятор игр разных жанров для новичков программирования, включая Python. Там студенту в игровой форме предлагают осваивать базовую терминологию и навыки решения задач. Хороший способ развеяться и при этом продолжить учиться, привыкая к процессу разработки.
А в какие игровые приложения вы играли, когда учили Python? Поделитесь в комментариях.
#обучение
👍4
Codeium: навсегда бесплатная AI-система автодополнения кода
Один из подписчиков Zen of Python посоветовал это расширение, и вот что оказалось в нем замечательного: заявлено, что расширение может дебажить код на Python. Тем временем её соперница chatGPT генерирует код, а компилируемость ее не особо волнует.
На видео расширение помогает писать регулярные выражения.
А у вас есть опыт использования таких ассистентов? Кто из таких расширений справился с этой типичной ошибкой GPT?
#лучшиепрактики
Один из подписчиков Zen of Python посоветовал это расширение, и вот что оказалось в нем замечательного: заявлено, что расширение может дебажить код на Python. Тем временем её соперница chatGPT генерирует код, а компилируемость ее не особо волнует.
На видео расширение помогает писать регулярные выражения.
А у вас есть опыт использования таких ассистентов? Кто из таких расширений справился с этой типичной ошибкой GPT?
#лучшиепрактики
👍10🔥4
Cam-Hackers: общедоступная база камер видеонаблюдения
Используя скрипт CamHackers ниже, вы можете получить список хакнутых / общедоступных камерам из разных стран. В списке выводятся IP-адрес и порт для подключения.
Скрипт вернет список из стран, останется лишь выбрать нужную вам.
#факты
Используя скрипт CamHackers ниже, вы можете получить список хакнутых / общедоступных камерам из разных стран. В списке выводятся IP-адрес и порт для подключения.
$ git clone https://github.com/AngelSecurityTeam/Cam-Hackers
$ cd Cam-Hackers
$ pip install -r requirements.txt
Использование:
$ python3 cam-hackers.py
Скрипт вернет список из стран, останется лишь выбрать нужную вам.
#факты
👍9👎5🤯2❤🔥1
Как проитерировать разномастный список «по атомам»
Если у нас есть список, содержащий объекты разного типа — строки, списки, словари, то превратить этот набор в перечень «неделимых» элементов — букв и чисел, поможет модуль chain библиотеки itertools:
Какие еще фишки itertools вы знаете? Поделитесь в комментариях.
#лучшиепрактики
Если у нас есть список, содержащий объекты разного типа — строки, списки, словари, то превратить этот набор в перечень «неделимых» элементов — букв и чисел, поможет модуль chain библиотеки itertools:
from itertools import chain
chained = chain('ab', [33])
next(chained) # a
next(chained) # b
next(chained) # 33
Какие еще фишки itertools вы знаете? Поделитесь в комментариях.
#лучшиепрактики
👍16❤3
Что делать, если код на Python «замораживается»
Назвали 5 способов борьбы с заморозкой кода. Среди них рефакторинг и профилирование кода, запуск на JIT. Полный список в этой статье.
А какие еще методы разморозки вы применяете? Поделитесь в комментариях.
Анонс
#карьера
Назвали 5 способов борьбы с заморозкой кода. Среди них рефакторинг и профилирование кода, запуск на JIT. Полный список в этой статье.
А какие еще методы разморозки вы применяете? Поделитесь в комментариях.
Анонс
#карьера
👍6🥰1
Dino Game своими руками
Многие из нас играли в бегающего динозаврика в Google Chrome, когда сети нет.
В своей статье Adones Evangelista рассказал, как написать точно такую же мини-игру на Python, используя библиотеки pygame и random.
#pygame #random
Многие из нас играли в бегающего динозаврика в Google Chrome, когда сети нет.
В своей статье Adones Evangelista рассказал, как написать точно такую же мини-игру на Python, используя библиотеки pygame и random.
#pygame #random
👍12👎2💩2
Counter: подсчёт числа элементов в списке
Помимо способности collections.Counter() понимать, что именно в строке нужно подсчитать:
в случае со списком слов модуль автоматически рассчитает, как часто встречается тот или иной элемент:
#лучшиепрактики
Помимо способности collections.Counter() понимать, что именно в строке нужно подсчитать:
from collections import Counter
Counter("mississippi")
>>> Counter({'i': 4, 's': 4, 'p': 2, 'm': 1})
в случае со списком слов модуль автоматически рассчитает, как часто встречается тот или иной элемент:
party_list = ["Alice", "Bob", "Alice", "Eve", "Bob", "Eve", "Alice"]
print(Counter(party_list))
>>> Counter({'Alice': 3, 'Bob': 2, 'Eve': 2})
#лучшиепрактики
👍16❤2
Эффективный способ указывать путь к файлам
С помощью библиотеки pathlib вы можете сократить длину кода, задав переменную «домашний путь» (home):
#лучшиепрактики
С помощью библиотеки pathlib вы можете сократить длину кода, задав переменную «домашний путь» (home):
from pathlib import Path
home = Path.home()
file = home / "treasure_map.txt"
file.touch()
print(f"Ваш файл злесь: {file}")
#лучшиепрактики
🔥18🤨7👍3🤔1
Почему Python не используется для разработки больших игр
Мы знаем, какими преимуществами обладает этот язык, но почему же его не используют для разработки полноценных игр? Среди недостатков, вытолкнувших ЯП с рынка GameDev, числятся:
- низкая совместимость с игровыми движками и языками программирования;
- нельзя создать собственный игровой движок;
- ограниченное количество игровых библиотек;
- ограниченный функционал для мобильных игр.
#факты
Мы знаем, какими преимуществами обладает этот язык, но почему же его не используют для разработки полноценных игр? Среди недостатков, вытолкнувших ЯП с рынка GameDev, числятся:
- низкая совместимость с игровыми движками и языками программирования;
- нельзя создать собственный игровой движок;
- ограниченное количество игровых библиотек;
- ограниченный функционал для мобильных игр.
#факты
💩15🤔4
SQL_Pandas.pdf
515.4 KB
Шпаргалка SQL → Pandas
— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.
#обучение
— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.
#обучение
👍10
Топ реальных историй про первую работу: как начиналась карьера в IT у наших читателей
Недавно мы просили читателей Типичного рассказать о том, как они получали первую работу и какие советы дали бы начинающим специалистам, которые сейчас тоже ищут первую работу.
Делимся лучшими реальными историями про первую работу:
— Как таксист в тяжёлой депрессии стал Python-разработчиком
— С завода на завод. Как слесарь стал программистом всего за 8 месяцев
— Как пройти путь от галеры в Новосибирске до релокейта на Филиппины
— Как стать Golang-разработчиком и получить оффер на 100 000 рублей в 20 лет
— Как студент из Красноярска стал фронтенд-разработчиком
#карьера #работа
Недавно мы просили читателей Типичного рассказать о том, как они получали первую работу и какие советы дали бы начинающим специалистам, которые сейчас тоже ищут первую работу.
Делимся лучшими реальными историями про первую работу:
— Как таксист в тяжёлой депрессии стал Python-разработчиком
— С завода на завод. Как слесарь стал программистом всего за 8 месяцев
— Как пройти путь от галеры в Новосибирске до релокейта на Филиппины
— Как стать Golang-разработчиком и получить оффер на 100 000 рублей в 20 лет
— Как студент из Красноярска стал фронтенд-разработчиком
#карьера #работа
🔥6💩4👍1