Pythoner
Відкрити в Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
Показати більше6 621
Підписники
+124 години
-27 днів
-3130 день
Архів дописів
6 621
Что такое реальный ворк-лайф баланс для разработчика?
На целую неделю ребята из канала Merk/daily передают бразды правления их каналом Flutter-разработчику Александру, чтобы вместе выяснить как разработчикам не выгорать на сложных проектах. Никакой воды и скучных нравоучениях о том, как «правильно» жить 👌
Александр расскажет, как выглядит его ворк-лайф баланс на самом деле, и как создать свой собственный, идеально подходящий именно вам.
А еще:
- Реальные истории из жизни IT-специалистов в международной компании.
- Как Саша пришел в IT и выбрал свой стек
- Кринжовые истории с собеседований
- История о том, как мы сначала отказали Саше, а потом передумали ⚡
Подписывайтесь на канал, чтобы не пропустить!
Подписаться
#реклама
О рекламодателе
6 621
✈️ В Python "plotly" — это библиотека для создания интерактивных графиков и визуализаций данных. "plotly" позволяет строить разнообразные типы графиков, включая линейные, точечные, гистограммы, круговые диаграммы, 3D-графики и многое другое. Они могут быть легко встроены в веб-приложения, отчеты и презентации, предоставляя пользователям возможность взаимодействовать с данными, масштабировать, панорамировать и выделять интересующие области.
➡️ Применение "plotly" широко распространено в области анализа данных, научных исследований, бизнес-аналитики и визуализации данных в веб-приложениях. Библиотека предоставляет удобный интерфейс для создания высококачественных, интерактивных графиков, которые помогают лучше понимать данные и извлекать из них ценную информацию. "Plotly" поддерживает различные фреймворки, такие как "Dash" и "Flask", что делает его мощным инструментом для создания динамических веб-приложений с интерактивными визуализациями. Кроме того, "plotly" можно использовать для создания автономных HTML-файлов с графиками, которые можно легко распространять и публиковать.
➡️ Вот пример использования "plotly" для построения интерактивного линейного графика:
import plotly.graph_objects as go
# Создаем данные для графика
x = [1, 2, 3, 4, 5]
y1 = [10, 11, 12, 13, 14]
y2 = [8, 9, 10, 11, 12]
# Создаем объект Figure
fig = go.Figure()
# Добавляем первый линейный график
fig.add_trace(go.Scatter(x=x, y=y1, mode="lines+markers", name="Линия 1"))
# Добавляем второй линейный график
fig.add_trace(go.Scatter(x=x, y=y2, mode="lines+markers", name="Линия 2"))
# Настраиваем заголовок и подписи осей
fig.update_layout(title="Интерактивный линейный график",
xaxis_title="X",
yaxis_title="Y")
# Отображаем график
fig.show()
# Сохраняем график в HTML-файл
# fig.write_html("my_plotly_chart.html")
⬆️ В этом примере создается интерактивный линейный график с двумя линиями, отображающими зависимость "Y" от "X". Пользователь может взаимодействовать с графиком, масштабируя, панорамируя и просматривая значения данных при наведении курсора на точки. Кроме того, в примере показано, как сохранить график в HTML-файл для последующего использования и публикации.
🐍 Pythoner6 621
Чувак с Реддита слил гайды по программированию, по которым обучают прогеров Microsoft и Apple.
Внутри больше 83 ГБ учебных материалов для джунов, мидлов и даже сеньоров. Отличная альтернатива платным курсам и обучениям:
Гайды по JavaScript
Гайды по Java
Гайды по C#
Гайды по PHP
Гайды по C++
Гайды по TypeScript
Гайды по Go
Гайды по Swift
Гайды по Kotlin
Гайды по Ruby
Гайды по Rust
Гайды по Scal
Гайды по Perl
Гайды по R
Полный список...
Аналогов этому ресурсу больше нет, не благодарите.
6 621
Бесплатное IT-образование в 2024
Отобрали для вас полезные телеграм-каналы, которые помогут освоить IT-направления
Выбирайте нужное и подписывайтесь:
— Frontend:
t.me/+qWPopdiaxVMzZDgy
— Backend:
t.me/+X-zQb-NgzGNhMzRi
— GitHub:
t.me/+3BVAmDixuO9lYTFi
— Книги айти:
t.me/+IG2NAVECUXs4MGYy
— Python:
t.me/+vBSA5zgB_gA0OWRi
— Java:
t.me/+3BRKfZ09ewg0NDJi
— C#:
t.me/+O3pnFY4bpF5hNTEy
— С/С++:
t.me/+PGxPXpZZczQxODcy
— Базы Данных & SQL:
t.me/+530qWWydM8ExZjk6
— Golang:
t.me/+FvTd7F-O-NNmNGMy
— PHP:
t.me/+jBvbaet0vpplNDQy
— Моб. разработка:
t.me/+Ikx5H4MrPihlOWZi
— Разработка игр:
t.me/+Z34knEvL8P9lZTAy
— DevOps:
t.me/+3wSgqmP5NOBhZGUy
— Data Science:
t.me/+-CuoNNa6P7VjOTRi
— ИБ:
t.me/+4jo8N5jtGDs1NTli
— Тестирование:
t.me/+MvFXlXbmmPFkM2Ey
— Маркетинг:
t.me/+lgiFPJTYp8M0ZjRi
— Дизайн:
t.me/+gmflvDFPc_c1YmIy
Получить предложение
#реклама 16+
О рекламодателе
6 621
✈️ Модуль
rich в Python предоставляет мощные возможности для улучшения визуального оформления терминальных приложений. С помощью rich можно создавать цветные тексты, таблицы, деревья, прогресс-бары и даже подсвечивать код.
➡️ Вот несколько практических примеров применения rich:
1. Цветной текст и стили
from rich import print
# Выводим текст с цветами и стилями
print("[bold red]Ошибка:[/] Неверный ввод!")
print("[green]Успех:[/] Данные сохранены.")
print("Это [italic cyan]пример[/italic cyan] текста с [underline magenta]разными[/underline magenta] стилями.")
⬆️ Этот пример показывает, как легко добавлять стили и цвета в текст. Используются такие стили, как жирный, курсив и подчёркнутый.
2. Форматирование JSON
from rich.console import Console
from rich.json import JSON
console = Console()
# Пример JSON-данных
data = '{"name": "Python3", "type": "Programming Language", "year": 2008}'
# Форматированный вывод JSON
console.print(JSON(data))
⬆️ Удобно для визуализации JSON-данных с автоматической подсветкой синтаксиса.
3. Создание таблиц
from rich.table import Table
from rich.console import Console
console = Console()
table = Table(title="Сравнение языков программирования")
table.add_column("Язык", style="bold", justify="left")
table.add_column("Скорость", justify="right")
table.add_column("Простота", justify="right")
table.add_row("Python", "Средняя", "Высокая")
table.add_row("Rust", "Высокая", "Средняя")
table.add_row("C++", "Высокая", "Низкая")
console.print(table)
⬆️ Таблицы помогают организовать данные, делая их читабельными и визуально привлекательными.
4. Прогресс-бар
from time import sleep
from rich.progress import Progress
with Progress() as progress:
task = progress.add_task("[cyan]Обработка данных...", total=100)
for i in range(100):
sleep(0.05)
progress.update(task, advance=1)
⬆️ Прогресс-бары полезны для отображения выполнения долгих операций.
5. Дерево файлов
from rich.tree import Tree
from rich.console import Console
console = Console()
tree = Tree("Проект")
src = tree.add("src")
src.add("main.py")
src.add("utils.py")
tree.add("README.md")
tree.add("requirements.txt")
console.print(tree)
⬆️ Этот пример создаёт визуализацию структуры проекта в виде дерева.
6. Подсветка синтаксиса
from rich.console import Console
from rich.syntax import Syntax
console = Console()
code = '''
def greet(name: str) -> str:
return f"Hello, {name}!"
'''
# Подсвечиваем код
syntax = Syntax(code, "python", theme="monokai", line_numbers=True)
console.print(syntax)
⬆️ Подсветка синтаксиса помогает отображать исходный код красиво и читаемо.
7. Журналирование
from rich.logging import RichHandler
import logging
logging.basicConfig(
level=logging.INFO,
format="%(message)s",
handlers=[RichHandler()]
)
log = logging.getLogger("rich")
log.info("Это [bold green]информация[/bold green].")
log.warning("Это [bold yellow]предупреждение[/bold yellow].")
log.error("Это [bold red]ошибка[/bold red].")
⬆️ Логирование с rich выглядит намного приятнее, чем стандартный вывод.
🐍 Pythoner6 621
Получи грант на обучение в Центральном университете
Прояви себя, получи грант до 2,8 млн на обучение ИТ и бизнесу в вузе.
Для школьников 10-х и 11-х классов, СПО.
Подать заявку
#реклама
apply.centraluniversity.ru
О рекламодателе
6 621
✈️В Python деструкторы — это специальные методы, которые вызываются, когда объект собирается с мусором (т.е., когда он больше не нужен и память, занимаемая объектом, освобождается). Деструкторы позволяют выполнить некоторые завершающие действия перед уничтожением объекта, например, освободить ресурсы или завершить соединения.
➡️Применение деструкторов ограничено в связи с наличием сборщика мусора. Их стоит использовать только когда нужно правильно освободить внешние ресурсы, например файлы.
➡️Вот пример класса с деструктором:
class MyClass:
def __init__(self, name):
self.name = name
print(f"Объект {self.name} создан.")
def __del__(self):
print(f"Объект {self.name} уничтожен.")
# Создаем объект класса
obj = MyClass("TestObject")
# Удаляем объект
del obj
# Если вы хотите избежать автоматического освобождения памяти,
# можете использовать осмысленное завершение программы, например:
import time
time.sleep(1) # daем немного времени, чтобы увидеть сообщение деструктора
⬆️В этом примере создается объект MyClass, после чего его деструктор будет вызван при удалении объекта с помощью команды del obj. Таким образом, в консоль будет выведено сообщение о создании объекта, а затем сообщение о его уничтожении.
🐍Pythoner6 621
Миграция в облако? Это легко!
Собственная инфраструктура устарела или не справляется с нагрузками? Используйте облачные ресурсы! Эксперты Yandex Cloud помогут перейти в облако быстро, легко и безопасно.
✅ Мы полностью сопровождаем процесс.
✅ От вас — только инженер с доступом к инфраструктуре.
✅ Архитектура под ваши задачи, миграция и поддержка на каждом шагу — всё включено.
⚡Переходите в Yandex Cloud и забудьте о старом железе. А если успеете подать заявку до 31 декабря, мы покроем расходы на инженеров и тестовую инфраструктуру.
Подать заявку
#реклама 16+
yandex.cloud
О рекламодателе
Реклама на Яндексе
6 621
✈️Метод tell() используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.
➡️Это позволяет:
—Узнать размер файла, сравнив позицию после чтения с начальной.
—Вернуться к определенной позиции с помощью
seek().
—Отслеживать прогресс обработки больших файлов.
—Получить позицию в строковых буферах и потоках байтов.
➡️Вот пример, который демонстрирует использование tell():
# Открываем файл для записи
with open('example.txt', 'w') as f:
f.write('Hello, World!')
# Получаем текущую позицию курсора
position = f.tell()
print(f'Current position after writing: {position}') # Вывод: 13, т.к. длина строки "Hello, World!" = 13
# Открываем файл для чтения
with open('example.txt', 'r') as f:
content = f.read(5) # Читаем первые 5 символов
position = f.tell()
print(f'Content read: {content}') # Вывод: Hello
print(f'Current position after reading: {position}') # Вывод: 5
⬆️В этом примере:
1. Мы открываем файл example.txt для записи и записываем в него строку "Hello, World!".
2. Используем tell(), чтобы получить позицию курсора после записи, что будет равно 13 (длина строки).
3. Затем открываем файл для чтения и читаем первые 5 символов.
4. Снова используем tell(), чтобы получить новую позицию курсора, которая будет равна 5 после чтения.
🐍Pythoner6 621
🔥Хотите повысить производительность работы с большими данными?
🦾 Ваша база знаний начинается с Cassandra!
Присоединяйтесь к открытому уроку «Интеграция Cassandra с приложениями».
Дата: 18 декабря в 20:00 мск
Cassandra — одна из самых востребованных NoSQL-баз для высоконагруженных систем. На уроке вы узнаете, как интегрировать её с приложениями и BI-инструментами, работать с данными и создавать простое приложение для Cassandra.
Вы сможете освоить технику загрузки больших объемов данных, изучите, как приложения могут эффективно взаимодействовать с базами на Cassandra, и получите важные навыки в аналитике!
🔗 Ссылка на регистрацию: https://otus.pw/UAZ7w/
#реклама
О рекламодателе
6 621
✈️rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории. Синтаксис функции:
os.rename(old_name, new_name)
➡️Пример использования:
import os
# Переименуем файл 'старый_файл.txt' в 'новый_файл.txt'
old_name = 'старый_файл.txt'
new_name = 'новый_файл.txt'
# Проверяем, существует ли старый файл
if os.path.exists(old_name):
os.rename(old_name, new_name)
print(f'Файл переименован в {new_name}')
else:
print(f'Файл {old_name} не найден')
⬆️Обратите внимание:
—Если файл с new_name уже существует, функция вызовет ошибку.
—Убедитесь, что у вас есть необходимые права для выполнения этой операции.
🐍Pythoner6 621
Repost from Карьера в МегаФоне
Cвежие ИТ-вакансии — идеальный способ начать неделю:
Москва:
🟢Инженер технической поддержки L2
🟢Аналитик по разработке цифровых решений ПЛК
Санкт-Петербург:
🟢Data Scientist (middle)
🟢DBA Postgresql
Краснодар:
🟢Старший инженер Unix-систем
🟢DBA Postgresql
Больше вакансий на job.megafon.ru
6 621
В канале «Карьера в МегаФоне» регулярно публикуются IT-вакансии — от аналитиков до инженеров. Рекомендуем следить за обновлениями 💚
6 621
✈️Humanize — это библиотека для Python, которая помогает преобразовывать текстовые представления чисел, дат и других значений в более удобочитаемый человекообразный формат. Она используется для упрощения визуализации данных и улучшения пользовательского интерфейса.
➡️Humanize полезен в приложениях, где нужно отображать данные в интерфейсе:
—Веб-приложения для отображения статистики.
—Информационные табло и панели мониторинга.
—Системы аналитики для визуализации данных.
—CLI-интерфейсы для вывода данных пользователю.
➡️Несколько примеров:
💬Человеко-читаемые временные метки:
import humanize
import datetime
# Пример: время, прошедшее с 24 сентября 2023 года
dt = datetime.datetime(2023, 9, 24)
print(humanize.naturaltime(dt)) # Вывод: "1 месяц назад" (на момент текущей даты)
💬Форматирование чисел:
import humanize
number = 1500
print(humanize.intcomma(number)) # Вывод: "1,500"
print(humanize.intword(number)) # Вывод: "1.5 k"
💬Представление длительности:
import humanize
duration = 3661 # время в секундах
print(humanize.precisedelta(datetime.timedelta(seconds=duration)))
# Вывод: "1 час, 1 минутa, 1 секунда"
🔎Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения.
🐍Pythoner6 621
🙅♂️ Хватит листать безликие каналы! В Кисель в АйТи всё иначе. Каждый пост — это выжимка опыта, который я сам применяю в работе.
Ты не найдёшь здесь ссылок на чужие материалы и копий из десятков других каналов. Только то, что пишет человек, который в этом живёт и работает каждый день.
🤝 Подпишись и убедись сам: Кисель в АйТи — это место, где ценят твое время.
Реклама. Киселев А.С. ИНН 503015075801.
6 621
✈️Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
➡️Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку. Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
➡️Простой пример:
a = 3
b = 10
print('a больше b') if a > b else print('a меньше b')
result = 'Четное' if a % 2 == 0 else 'Нечетное'
print(result)
# Результат:
# a меньше b
# Нечетное
⬆️В данном примере тернарный оператор используется:
—Для вывода одной из двух фраз в зависимости от условия a > b.
—Для присваивания переменной result одного из двух значений в зависимости от четности a.
🐍Pythoner6 621
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
6 621
Изучаете Python и уже чувствуете себя уверенно? Хотите проверить себя и свои знания? Тогда приглашаем на бесплатный мини-курс «Python для всех»: https://epic.st/9Jt_Pp?erid=2Vtzqwf8vh5
Курс состоит из практики чуть меньше чем полностью. За 4 дня вы создадите 4 проекта:
1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)
В общем, прокачаете навыки и наверняка узнаете что-то новое.
🎁 А ещё подарки: персональная карьерная консультация, скидка 10 000 рублей на любой курс Skillbox и подборка полезных материалов.
Новогодний сюрприз от Skillbox: дарим скидки до 60% и 3 курса в подарок!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
6 621
✈️Сегодня поговорим о том, как сделать работу с путями в Python более элегантной и современной. Если вы всё ещё используете os.path, то пора двигаться вперёд!
➡️Модуль pathlib появился в Python 3.4 и полностью изменил правила игры. Это как пересесть с древнего велосипеда на Tesla – всё те же базовые принципы, но сильно удобнее!
🔎Почему стоит перейти на pathlib?
—Объектно-ориентированный подход вместо строковых операций
—Кроссплатформенность из коробки
—Цепочки методов, которые читаются как поэзия
—Меньше кода, больше смысла
➡️Практические примеры:
# Старый подход с os.path
import os.path
file_path = os.path.join('data', 'users', 'config.json')
parent_dir = os.path.dirname(file_path)
file_name = os.path.basename(file_path)
# Новый подход с pathlib
from pathlib import Path
file_path = Path('data') / 'users' / 'config.json'
parent_dir = file_path.parent
file_name = file_path.name
👀Крутые фишки pathlib, о которых вы могли не знать:
➡️Проверка существования файла:
path = Path('config.json')
if path.exists():
print('Файл существует!')
➡️Создание директорий одной командой:
Path('nested/directories/structure').mkdir(parents=True, exist_ok=True)
➡️Поиск файлов по маске (glob):
# Найти все .py файлы в текущей директории
python_files = list(Path('.').glob('*.py'))
➡️Работа с суффиксами и расширениями:
path = Path('document.pdf')
print(path.suffix) # .pdf
print(path.stem) # document
➡️А теперь самое вкусное – цепочки методов:
config_path = (Path.home() / 'projects' / 'app' / 'config.json')
if config_path.exists():
data = json.loads(config_path.read_text())
➡️Pro-tip: pathlib отлично работает с контекстными менеджерами:
with Path('log.txt').open('w') as f:
f.write('Logging started')
🔎Когда стоит использовать os.path? Практически никогда! Разве что при работе с легаси-кодом или если вам нужны какие-то очень специфические операции с путями.
⚡️В заключение: pathlib – это не просто альтернатива os.path, это следующий эволюционный шаг в работе с файловой системой в Python. Он делает код чище, понятнее и приятнее в поддержке. Если вы ещё не перешли на pathlib, самое время начать!
🐍Pythoner6 621
Постоянное давление, усталость и отсутствие ясности, как строить карьеру?
Пишешь код которым не гордишься, проставляешь оценки, cписываешь часы, сидишь на созвонах... И вроде бы все неплохо, но не отпускают сомнения: а тем ли я занимаюсь в жизни?
Ты не одинок в этом. Такие мысли знакомы многим, кто сталкивается с выгоранием, синдромом самозванца или потерей мотивации на фоне карьерных изменений.
Если это про тебя, загляни в канал Екатерины — коуча для IT по стандартами ICF с 15-летним опытом в управлении IT-проектами и продуктами.
Екатерина делится проверенными инструментами и стратегиями, которые помогут тебе:
✔️ Победить синдром самозванца
✔️ Преодолеть выгорание и вернуть энергию
✔️ Найти новый карьерный путь
✔️ Адаптироваться в новой роли или команде
✔️ Развить уверенность в своих силах
Подписывайся на канал Коуч для IT. Изменения неизбежны, чтобы развиваться личностно и в карьере — будь ты разработчик, инженер или техлид.
Реклама. Бадовская Е.А. ИНН 773105726222.
