Pythoner
Відкрити в Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
Показати більше6 804
Підписники
Немає даних24 години
+27 днів
-3030 день
Архів дописів
6 804
✈️Сегодня разберём тему, которая частенько вызывает головную боль даже у опытных разработчиков — области видимости переменных и ключевые слова global и nonlocal.
➡️В чём суть?
Представьте, что вы пишете функцию внутри функции и вам нужно изменить переменную "снаружи". Без special words Python скажет: "Неа, не получится!"
➡️Как это работает?
Global:
x = 5 # глобальная переменная
def change_x():
global x # говорим Python, что хотим менять глобальную x
x = 10 # теперь работает!
change_x()
print(x) # выведет 10
Nonlocal:
def outer():
counter = 0 # переменная внешней функции
def inner():
nonlocal counter # хотим менять counter из outer
counter += 1 # работает!
inner()
print(counter) # выведет 1
outer()
⚡️Важные моменты:
- Global можно использовать для создания новых переменных
- Nonlocal работает только с существующими переменными
- В Python 3.13 пофиксили баги с global в блоках else и except
➡️Типичные ошибки:
Неправильно:
def bad_function():
print(x) # ошибка!
global x # global нужно объявлять до использования
x = 10
Правильно:
def good_function():
global x
print(x) # теперь всё ок
x = 10
➡️Полезные инструменты:
Чтобы проверить, какие переменные у вас есть:
print(globals()) # все глобальные переменные
print(locals()) # все локальные переменные
💡Практические советы:
- Используйте global только когда действительно необходимо
- Nonlocal отлично подходит для счетчиков и аккумуляторов
- Всегда документируйте использование global и nonlocal в комментариях
- Старайтесь минимизировать использование глобальных переменных
🐍 Pythoner6 804
✈️Astropy — это мощная библиотека Python, предназначенная для астрономических вычислений и анализа данных. Она предоставляет инструменты для работы с астрономическими данными, включая обработку изображений, анализ спектров, управление временем и координатами, а также множество других функций, которые облегчают работу астрономам и исследователям.
⚡️Основные возможности Astropy:
- Управление временем и датами: Astropy предоставляет инструменты для работы с астрономическим временем, включая преобразование между различными временными шкалами и форматами.
- Координатные системы: Библиотека позволяет работать с астрономическими координатами, включая преобразование между различными системами координат (например, экваториальными, эклиптическими и галактическими).
- Обработка изображений: Astropy включает инструменты для чтения, записи и обработки астрономических изображений, включая поддержку формата FITS (Flexible Image Transport System).
- Анализ спектров: Библиотека предоставляет функции для анализа астрономических спектров, включая измерение линий спектра и расчет физических параметров.
- Астрономические единицы и константы: Astropy предоставляет набор астрономических единиц и фундаментальных констант, которые можно использовать в вычислениях.
- Интеграция с другими библиотеками: Astropy интегрируется с другими популярными библиотеками Python, такими как NumPy, SciPy, Matplotlib и Pandas, что позволяет создавать мощные астрономические приложения.
➡️Примеры использования:
1.Работа с временем:
from astropy.time import Time
# Создание объекта времени
t = Time('2023-10-10 12:00:00', format='iso', scale='utc')
# Преобразование времени в другой формат
print(t.jd) # Вывод времени в формате Julian Date
2.Работа с координатами:
from astropy.coordinates import SkyCoord
from astropy import units as u
# Создание объекта координат
c = SkyCoord(ra=10.68458*u.degree, dec=41.26917*u.degree, frame='icrs')
# Преобразование координат в другую систему
print(c.galactic) # Вывод координат в галактической системе
3.Анализ спектров:
from astropy import units as u
from astropy.modeling import models, fitting
# Создание спектра
wavelength = [400, 500, 600, 700] * u.nm
flux = [1, 2, 3, 4] * u.Jy
# Подгонка модели к спектру
model = models.Gaussian1D(amplitude=2*u.Jy, mean=500*u.nm, stddev=50*u.nm)
fitter = fitting.LevMarLSQFitter()
fitted_model = fitter(model, wavelength, flux)
# Вывод параметров модели
print(fitted_model)
💡Заключение
Astropy предоставляет широкий набор инструментов для работы с астрономическими данными, включая обработку изображений, анализ спектров, управление временем и координатами. А благодаря простому и интуитивному API, Astropy легко интегрируется в проекты.
🐍 Pythoner6 804
Хотите освоить программирование или сменить работу в IT?
А вы готовы всего за час создать и опубликовать целое приложение?
Отлично! Тогда присоединяйтесь к онлайн-конференции «Как создать первый проект на Python и Java с нуля»!
Новички в IT узнают:
- какой язык программирования лучше выбрать для старта
- как быстро создать и развернуть приложение
- как работают Python и Java на практике
- как размещать код на GitHub и работать с репозиториями
- какие дополнительные инструменты использовать для профессионального роста
Программисты на других языках, и те, кто ищет новые возможности в IT:
- поймёте, какие IT-технологии сейчас востребованы
- узнаете, какие навыки прокачивать для успешной смены деятельности
- отработаете навыки быстрой сборки и быстрого развёртывания проекта
- узнаете о новых возможностях для обучения и развития
Также вас ждёт квиз с призами!
Спикеры:
Сурен Хоренян: бэкенд-разработчик на Python, руководитель команды в «VK Рекламе»
Сергей Прощаев: Java-разработчик
Бонус! Скидка 7% на любой курс OTUS и полезные материалы в подарок!
18 апреля, 19:00 МСК
Бесплатно
Записаться на событие - https://otus.pw/agHXY/?erid=2W5zFGDrpf2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 804
🤔Разбор
Атрибуты класса (count) являются общими для всех экземпляров класса.
Метод __del__ вызывается автоматически, когда объект уничтожается (например, после выполнения del или когда программа завершается).
Если объект больше не имеет ссылок, он удаляется сборщиком мусора, и вызывается деструктор.
🐍 Pythoner
6 804
+9
Этот пост - реальная возможность поменять жизнь.
И стать творцом! 🧑🏻🎨
Питоша 🐍 - самый востребованный язык в мире
А с этим курсом разберётся даже твоя бабуля 👵🏻
1600 отзывов не дадут соврать:)
Ссылка на полностью бесплатный курс:
stepik.org/course/214271/promo
Наш паблик в телеграмме с викторинами:
t.me/pitosha1
6 804
Бесплатное льготное обучение: 3 месяца
Мы ищем людей, которые хотят работать в IT-сфере из дома
💰 Оплата от 150.000 рублей в месяц
Образование, место жительства, трудовой стаж — не важны!
Подходит, как для подработки / декретного отпуска, так и для полной занятости.
Если заинтересовались, то для старта нужно:
— пройти короткий тест
— заполнить анкету
На что можно рассчитывать:
✅ удаленная работа
✅ зп от 150.000 рублей (потолка нет)
✅ стабильная подработка, если не хотите уходить с основной работы
⚡ Количество бесплатных мест ограничено. Успейте пройти тест и оставить заявку:
Узнать больше
#реклама
technolium.ru
О рекламодателе
6 804
👨💻 Баттлы по программированию на Python
X5 Tech Sprint — соревнования по кодингу прямо в супермаркетах «Перекрёсток» рядом с твоим вузом.
Забирай крутые призы:
— фаст-трек на стажировку в X5 Tech для ТОП-25 участников общего рейтинга
— 50 000 рублей для ТОП-5 самых быстрых кодеров
— в ежедневном розыгрыше: сертификат на 3 000 рублей на покупки в «Перекрёстке»
Пора воспользоваться своими скиллами — успей принять участие с 12 по 19 апреля!
🌐 Подробнее о соревновании на сайте.
6 804
Искусственный интеллект помогает больше продавать
Битрикс24 CRM + Ai упрощает работу менеджера. Расшифровывает записи звонков клиентам и сам заполняет карточку сделки.
Менеджер в это время уже звонит следующему клиенту.
Попробуйте умную CRM
Попробовать
#реклама 16+
bitrix24.ru
О рекламодателе
6 804
✈️Boltons — это открытая библиотека Python, которая предоставляет набор общих, лёгких и независимых утилит. Создана она Mahmoud Hashemi и доступна на GitHub. Boltons разработаны для того, чтобы дополнить стандартную библиотеку Python, предоставляя функции, которые часто нужны, но отсутствуют в стандартной библиотеке.
➡️Основные возможности
Boltons содержит множество модулей, каждый из которых специализируется на определенной области функциональности. Вот некоторые ключевые модули и возможности:
1.
iterutils:
Утилиты для работы с итераторами и итерируемыми объектами, включая расширенные инструменты itertools и шаблоны итерирования.
2. strutils:
Дополнительные инструменты для работы со строками, такие как расширенная интерполяция, форматирование текста и заполнение.
3. fileutils:
Утилиты для работы с файлами и каталогами, включая итерацию по файлам, атомарное сохранение файлов и операции с деревьями каталогов.
4. datetimeutils:
Расширенные инструменты для работы с датами и временем, включая более гибкие возможности парсинга и форматирования, работу с часовыми поясами и операции с
timedelta.
5. funcutils:
Утилиты для работы с функциями, такие как композиция функций, декораторы кэширования и валидации аргументов.
6. cacheutils:
Утилиты для кэширования, такие как LRU-кэш.
7. dictutils:
Расширенные инструменты для работы со словарями, такие как OrderedMultiDict.
8. queueutils:
Утилиты для работы с очередями, такие как PriorityQueue.
9. tbutils:
Утилиты для работы с трассировками стека, такие как тип TracebackInfo, который упрощает отладку и отчёты об исключениях.
➡️Пример использования
from boltons.dictutils import OMD
# OrderedMultiDict — словарь, сохраняющий порядок и поддерживающий дубликаты ключей
data = OMD()
data.add('status', 'ok')
data.add('status', 'warning')
print(data.getlist('status')) # ['ok', 'warning']
💡Заключение
Boltons — это мощная библиотека утилит, которая дополняет стандартную библиотеку Python, предоставляя множество дополнительных инструментов и функций. Независимо от того, являетесь ли вы разработчиком на Python или аналитиком данных, Boltons поможет вам повысить эффективность работы и упростить реализацию кода.
🐍 Pythoner6 804
+4
⚡️ Python теперь в Telegram!
Ребята сделали крутейший канал, где на простых картинках и понятном языке обучают Python, делятся полезными фишками и инструментами
Подписывайтесь: @PythonPortal
6 804
Крупнейший университет искусственного интеллекта
Приглашаем на бесплатный однодневный интенсив по AI!
Освой искусственный интеллект для профессионального роста: создавай нейросети, автоматизируй бизнес-задачи и зарабатывай на AI-решениях.
✨ 8 000+ студентов со всего мира
✨ 600+ AI-проектов, созданных студентами
✨ Сборная Университета — победители крупнейших AI-хакатонов России
✨ Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет и другие)
✨ Трудоустраиваем выпускников в крупнейшие компании (Яндекс, ВТБ, Сбербанк, Роскосмос и другие)
Будем рады видеть тебя в наших рядах!
Узнать больше
#реклама 16+
neural-university.ru
О рекламодателе
6 804
✈️Glom — это библиотека Python, которая позволяет удобно работать с вложенными данными. Glom предоставляет инструменты для доступа к вложенным данным и их преобразования, что делает работу с сложными структурами данных более простой и интуитивной.
➡️Основные возможности glom
— Путь доступа к данным: Glom позволяет использовать пути для доступа к вложенным данным, например, a.b.c.
— Объявление преобразований данных: Glom предоставляет инструменты для преобразования данных с помощью лёгких и понятных спецификаций.
— Читаемые сообщения об ошибках: Glom предоставляет читаемые сообщения об ошибках, чтобы помочь вам быстро найти и исправить проблемы.
— Встроенная отладка: Glom предоставляет инструменты для отладки, чтобы помочь вам быстро найти и исправить проблемы.
— Дополнительные возможности: Glom также предоставляет инструменты для глубокого присваивания, потоковой обработки и валидации данных.
➡️Основные примеры использования
1.Доступ к данным:
from glom import glom
# Пример данных
data = {'a': {'b': {'c': 'd'}}}
# Доступ к данным с помощью пути
result = glom(data, 'a.b.c') # Вернёт 'd'
print(result)
2.Обработка вложенных списков:
# Пример данных
data = {'a': [{'k': 'v1'}, {'k': 'v2'}]}
# Доступ к данным в вложенных списках с помощью шаблона
result = glom(data, 'a.*.k') # Вернёт ['v1', 'v2']
print(result)
3.Преобразование данных. Glom позволяет не только получать данные, но и преобразовывать их:
# Пример данных
data = {'a': {'b': 'c', 'd': 'e'}, 'f': 'g', 'h': [0, 1, 2]}
# Определение спецификации преобразования
spec = {'a': 'a.b', 'd': 'a.d', 'h': ('h', [lambda x: x * 2])}
# Применение спецификации преобразования
output = glom(data, spec)
print(output) # Вывод {'a': 'c', 'd': 'e', 'h': [0, 2, 4]}
4.Обработка ошибок. Glom предоставляет читаемые сообщения об ошибках, что позволяет быстро находить и исправлять проблемы:
# Пример данных
data = {'a': {'b': None}}
# Попытка доступа к несуществующему пути
try:
result = glom(data, 'a.b.c')
except Exception as e:
print(e) # Вывод сообщения об ошибке
⛓Документация glom
⛓Руководство по glom
💡Заключение
Glom — это мощный инструмент для работы с вложенными данными. Он позволяет легко получать доступ к данным и преобразовывать их с помощью путей и спецификаций. Glom подходит как для аналитиков данных, так и для разработчиков, которые хотят упростить работу с вложенными структурами данных.
🐍 Pythoner6 804
В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн
Но где их находить? Как узнавать о них раньше, чем когда все начнут выкладывать фотографии оттуда?
Переходите на канал IT-Мероприятия России. В нём каждый день анонсируются мероприятия со всех городов России
📆 в канале размещаются как онлайн, так и оффлайн мероприятия;
👩💻 можно найти ивенты по любому стеку: программирование, frontend-backend разработка, кибербезопасность, дата-аналитика, osint, devops и другие;
🎙 разнообразные форматы мероприятий: митапы с коллегами по цеху, конференции и вебинары с известными опытными специалистами, форумы и олимпиады от важных представителей индустрии и многое другое
А чтобы не искать по разным форумам и чатам новости о предстоящих ивентах:
🚀 IT-мероприятия России — подписывайся и будь в курсе всех предстоящих мероприятий!
6 804
✈️TensorFlow — это ведущая открытая платформа для машинного обучения, разработанная Google. Она широко используется как в академической среде, так и в промышленности. TensorFlow поддерживает множество приложений, от простых линейных моделей до сложных архитектур глубокого обучения.
➡️Основные понятия TensorFlow
- Тензоры: Многомерные массивы, аналогичные массивам NumPy. Они являются основными элементами, с которыми работает TensorFlow.
- Операции: Функции, которые выполняют вычисления над тензорами.
- Переменные: Значения, которые изменяются в процессе обучения модели.
- Граф вычислений: TensorFlow использует графы для представления математических операций. Каждый узел графа представляет операцию, а ребра — данные (тензоры), передающиеся между операциями.
➡️Построение первой нейронной сети
1.Загрузка данных:
TensorFlow позволяет легко загружать и предобрабатывать данные. В примере ниже мы используем набор данных MNIST, который часто используется для обучения систем обработки изображений:
import tensorflow as tf
from tensorflow.keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
2.Определение модели:
Мы используем API Keras, интегрированный в TensorFlow, для определения нашей нейронной сети:
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
3.Компиляция модели:
Затем мы компилируем модель, указывая оптимизатор, функцию потерь и метрики:
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
4.Обучение модели:
Обучаем модель с использованием обучающих данных:
model.fit(x_train, y_train, epochs=5)
5.Оценка модели:
Наконец, оцениваем модель с использованием тестовых данных:
model.evaluate(x_test, y_test)💡Заключение TensorFlow в Python — это мощный инструмент для создания моделей машинного обучения. Независимо от того, являетесь ли вы начинающим или опытным разработчиком, обширная экосистема и надежные функции TensorFlow делают его ценным инструментом в вашем арсенале искусственного интеллекта. 🐍 Pythoner
6 804
+5
В канале Selectel Newsfeed новые бесплатные курсы!
Наши бесплатные курсы для специалистов всех уровней помогут разобраться в темах быстро, структурно и последовательно.
Вступайте в сообщество IT-специалистов в Telegram от Selectel и развивайте новые навыки📚
Смотреть
#реклама 16+
О рекламодателе
6 804
✈️igraph — это популярная библиотека для анализа и визуализации графов, которая доступна как для Python, так и для других языков программирования (R, C). Она позволяет исследовать сложные сети, такие как социальные графы, транспортные системы, веб-сайты и многое другое. Благодаря своей эффективности и гибкости, igraph стал одним из основных инструментов для работы с данными в виде графов.
➡️Основные возможности igraph — генерация случайных и классических графов, вычисление различных метрик (степени вершин, диаметра графа и т. д.), поиск сообществ и кластеров.
➡️Пример создания простого графа:
import igraph as ig
# Создаем граф
graph = ig.Graph()
# Добавляем вершины
graph.add_vertices(5)
# Добавляем ребра
graph.add_edges([(0, 1), (1, 2), (2, 3), (3, 4), (4, 0)])
# Визуализируем граф
ig.plot(graph, vertex_label=range(graph.vcount()), vertex_color="lightblue", edge_width=2)
➡️Пример анализа графа:
import igraph as ig
# Создаем граф
graph = ig.Graph.Tree(10, 2) # Дерево с 10 узлами и ветвлением 2
# Получаем характеристики графа
print("Количество вершин:", graph.vcount()) # Вывод: 10
print("Количество ребер:", graph.ecount()) # Вывод: 9
print("Степень каждой вершины:", graph.degree()) # Вывод: [2, 3, 3, 1, 1, 1, 1, 1, 1, 1]
# Находим диаметр графа
diameter = graph.diameter()
print("Диаметр графа:", diameter)
➡️Некоторые особенности Python-igraph:
— Подходит для анализа графов среднего и большого размера
— Делает акцент на производительности и эффективности использования памяти
— Поддерживает направленные и ненаправленные графы, взвешенные графы
— Имеет богатый набор алгоритмов компоновки
— Интегрируется с популярными библиотеками Python для науки о данных, такими как NumPy и Pandas. 3
💡Заключение
igraph — это универсальный инструмент для анализа и визуализации графов. Он помогает исследовать сложные сети и находить скрытые закономерности в данных. Он особенно полезен для исследователей и учёных, работающих со сложными сетевыми структурами.
🐍 Pythoner6 804
Ошибки в защите данных: как СУБД Jatoba избегает их?
Дата: 17 апреля (четверг)
Время: 12:00 - 13:30 МСК
Не пропустите вебинар
«Кластерные решения для больших объемов данных: отечественный опыт»
Эксперты УЦСБ и «Газинформсервис» расскажут, как избежать ошибок в настройке СУБД, повысить доступность данных и защитить их от утечек, даже при пиковых нагрузках.
1. Как Jatoba обеспечивает высокую доступность данных при максимальных нагрузках?
2. Почему стоит выбрать отечественную СУБД для хранения и защиты данных?
3. Реальные примеры успешных внедрений в крупных компаниях.
4. Демонстрация интерфейса и отказоустойчивости Jatoba DB в действии!
Бонус: фирменный мерч от «Газинформсервис» за самый интересный вопрос!
Зарегистрироваться
#реклама 16+
sec.ussc.ru
О рекламодателе
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
