
- Главная
- Каталог
- Интернет технологии
- PytStart | Программирование на Python
PytStart | Программирование на Python
Канал о разработке приложений на Python, в том числе написание backend и web-приложений. Аудитория канала - начинающие или опытные Python программисты.
Статистика канала
for — это медленно и некрасиво.
Используйте множества (set). Они поддерживают математические операции "из коробки".
Пример:
Есть два списка разработчиков:
frontend = {"Anna", "Bob", "Alice"}
backend = {"Bob", "John", "Alice"}{}
Что можно сделать одной строкой:
1️⃣ Кто фуллстек? (пересечение &)
print(frontend & backend)
# {'Alice', 'Bob'}{}
2️⃣ Кто только фронтендер? (разность -)
print(frontend - backend)
# {'Anna'}{}
3️⃣ Кто работает только на одной стороне? (симметрическая разность ^)
print(frontend ^ backend)
# {'Anna', 'John'}{}
Это работает очень быстро (почти мгновенно) даже на больших объемах данных.for и if?
import numpy as np
# создаём массив случайных чисел
data = np.random.randint(0, 100, size=(5, 5))
print("Массив:\n", data)
# выбираем все элементы >50
mask = data > 50
print("Элементы >50:\n", data[mask])
# умножаем все >50 на 2 (broadcasting)
data[mask] *= 2
print("После умножения >50 на 2:\n", data)
# fancy indexing: выбираем 1, 3 и 4 строки, 0 и 2 столбцы
subset = data[[1,3,4], :][:, [0,2]]
print("Подмассив (fancy indexing):\n", subset){}
scipy.optimize.
from scipy.optimize import minimize, fsolve
import numpy as np
# --- Минимизация функции ---
# функция с минимумом
def func(x):
return (x - 3)**2 + np.sin(x)*5
# ищем минимум
res = minimize(func, x0=0) # x0 - начальное приближение
print("Минимум функции:", res.x, "Значение:", res.fun)
# --- Решение системы нелинейных уравнений ---
# система: x^2 + y^2 = 1, x - y = 0.5
def system(vars):
x, y = vars
return [x**2 + y**2 - 1, x - y - 0.5]
solution = fsolve(system, [0, 0]) # начальное приближение [x0, y0]
print("Решение системы:", solution){}
minimize ищет минимум любой функции, можно задавать ограничения и методы
fsolve решает системы нелинейных уравнений с произвольной сложностью
for и if? groupby и агрегации.
import pandas as pd
# создаём DataFrame
data = pd.DataFrame({
"Компания": ["A", "B", "A", "B", "C"],
"Доход": [100, 200, 150, 120, 300],
"Расход": [50, 80, 60, 70, 150]
})
# группируем по компании и считаем суммарный доход и средний расход
summary = data.groupby("Компания").agg({
"Доход": "sum",
"Расход": "mean"
})
print(summary){}
groupby позволяет группировать данные по ключу
agg выполняет несколько операций сразу
async и await с библиотекой asyncio.
import asyncio
async def fetch_data(n):
print(f"Запрос {n} стартовал")
await asyncio.sleep(1) # имитация сетевого запроса
print(f"Запрос {n} завершён")
return n * 2
async def main():
# запускаем все задачи одновременно
results = await asyncio.gather(*(fetch_data(i) for i in range(5)))
print("Результаты:", results)
asyncio.run(main()){}
asyncio.gather запускает все задачи параллельно
:=
Странное название, но очень полезная суть. Оператор := (он похож на глаза и клыки моржа) позволяет присвоить значение переменной прямо внутри выражения (например, внутри if или while).
Задача:
Получить данные от функции (или пользователя) и проверить, не пустые ли они.
❌ Без моржа (3 строки):
text = input("Введите слово: ")
if len(text) > 5:
print(f"Длинное слово: {text}"){}
✅ С моржом (2 строки):
# Мы и присваиваем text, и сразу проверяем его длину
if len(text := input("Введите слово: ")) > 5:
print(f"Длинное слово: {text}"){}
Переменная text останется доступной и внутри блока if, и после него. Это отлично экономит место и делает код компактнее.collections есть идеальный инструмент — Counter.
from collections import Counter
text = "abracadabra"
stats = Counter(text)
print(stats)
# Counter({'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1}){}
Он работает как словарь, но умеет больше. Например, метод .most_common() сразу покажет топ элементов:
# Вывести 2 самых частых символа
print(stats.most_common(2))
# [('a', 5), ('b', 2)]{}
zip(), которая "сшивает" списки как молнию на куртке.
names = ["Alice", "Bob", "Charlie"]
salaries = [50000, 60000, 70000]
# name берется из names, salary из salaries
for name, salary in zip(names, salaries):
print(f"{name} зарабатывает {salary}"){}
zip можно мгновенно создать словарь из двух списков:
data_dict = dict(zip(names, salaries))
# {'Alice': 50000, 'Bob': 60000, ...}{}
Минимум кода — максимум пользы.Отзывы канала
всего 4 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
PytStart | Программирование на Python — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 4.6K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 22.4, количество отзывов – 4, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 1398.6 ₽, а за 8 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий