Pythoner
رفتن به کانال در Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
نمایش بیشتر6 623
مشترکین
+124 ساعت
-87 روز
-3430 روز
آرشیو پست ها
6 621
Хочешь освоить Python, но не знаешь где брать материалы?
🐍 Ghostly Python — уютное место для изучения Python на практике. Там вы найдёте уроки, скрипты, шпаргалки, и многое другое, что поможет вам стать уверенным разработчиком.
Неважно, новичок вы или опытный программист, — у нас всегда найдётся что-то полезное!
🔥 Заходи прямо сейчас, чтобы не потерять — Ghostly Python!
6 621
✈️Если вы знакомы с Python, но хотите использовать его возможности в экосистеме Java, то Jython — это именно то, что вам нужно. Шучу. Это извращение.
В этом посте мы рассмотрим, что такое Jython, как он работает, и почему он может быть полезен для ваших проектов.
➡️Что такое Jython?
Jython — это диалект Python, созданный для работы на виртуальной машине Java (Java Virtual Machine, JVM). Он позволяет писать код на Python, который может взаимодействовать с библиотеками Java, а также запускаться в средах, поддерживающих Java.
➡️Основные особенности Jython:
— Совместимость с Python: Jython поддерживает большую часть стандартной библиотеки Python.
— Интеграция с Java: Вы можете использовать Java-классы и библиотеки напрямую из вашего Python-кода.
— Кроссплатформенность: Поскольку Jython работает на JVM, он доступен на любой платформе, где есть Java.
➡️Зачем нужен Jython?
Jython полезен в следующих случаях:
1. Интеграция с Java-приложениями
Если вы работаете в экосистеме Java, но предпочитаете писать код на Python, Jython позволяет вам легко интегрировать Python-скрипты в существующие Java-проекты.
2. Быстрая разработка
Python известен своей простотой и производительностью при разработке. С помощью Jython вы можете использовать эту быстроту внутри Java-среды.
3. Доступ к Java-библиотекам
Jython предоставляет прямой доступ ко всем библиотекам Java, что делает его идеальным выбором для проектов, где нужны специфические Java-инструменты.
4. Кроссплатформенность
Поскольку Jython работает на JVM, ваши Python-программы могут запускаться на любом устройстве, поддерживающем Java.
➡️Как установить Jython?
Установка Jython немного отличается от обычного Python. Вам нужно скачать дистрибутив с официального сайта и установить его вручную. Вот основные шаги:
1. Перейдите на официальный сайт Jython - https://www.jython.org/
2. Скачайте последнюю версию Jython.
3. Установите Jython, следуя инструкциям на сайте.
4. Добавьте путь к Jython в переменную окружения
❌Ограничения Jython
Несмотря на свои преимущества, Jython имеет некоторые ограничения:
1. Поддержка Python 2.x
На момент написания статьи Jython поддерживает только Python 2.7, хотя активно ведётся работа над поддержкой Python 3.x.
2. Ограниченная совместимость со сторонними библиотеками
Некоторые Python-библиотеки, зависящие от C-расширений, могут не работать в Jython.
3. Производительность
Хотя Jython может быть быстрее, чем стандартный Python, в некоторых случаях производительность зависит от JVM.
🐍 Pythoner
PATH.
После установки вы можете запустить интерактивную оболочку Jython командой:
jython
➡️Пример использования Jython
Давайте посмотрим на простой пример, демонстрирующий, как можно использовать Java-классы в Python с помощью Jython:
# Импорт класса из Java
from java.util import ArrayList
# Создание объекта ArrayList
list = ArrayList()
# Добавление элементов
list.add("Python")
list.add("Jython")
list.add("Java")
# Вывод списка
for item in list:
print(item)
⬆️Вывод:
Python Jython JavaКак видите, работа с Java-классами в Jython практически не отличается от работы с нативными Python-объектами. 👀Основные преимущества Jython 1. Совместимость с Java Jython позволяет использовать все возможности Java, включая многопоточность, GUI-библиотеки (например, Swing) и другие инструменты. 2. Быстрая разработка Python — это высокоуровневый язык, который позволяет писать код быстрее, чем на Java. Jython сохраняет эту скорость разработки. 3. Обширная экосистема Вы можете использовать как Python-библиотеки, так и Java-библиотеки, что значительно расширяет возможности вашего проекта. 4. Простота интеграции Jython легко интегрируется с существующими Java-проектами, позволяя добавлять Python-функциональность без серьёзных изменений.
6 621
🤔Разбор
'b' in 'bbbb' выдаст нам True —> потому что левый элемент действительно присутствует в правом.
Перед этим выражением есть not, который превратит True в False
Перед not'ом есть еще not —> превратит назад в True
Еще not —> False
еще not —> True
Получится в конце if True —> условие выполняется.
Выдаст: 1
🐍 Pythoner
6 621
Ищете готовые скрипты 💻 на Python ❓
На канале Python_Scripts всегда огромный выбор 🚀 :
📍 боты 🤖
📍 парсеры 📁
📍 чекеры 🔍
📍 автоматизация 🔧
📍 многое другое 💻
Подписывайтесь и пользуйтесь❕
👇👇👇 Ссылка на канал : 👇👇👇
https://t.me/Py_Script
6 621
Разработка по-настоящему рабочих сайтов «под ключ»
Современные и стильные сайты для любой сферы бизнеса. От 60.000 ₽.
«Под ключ» - от уникального дизайна до креативного маркетинга. Реализуем проекты любой сложности.
✅ С нами вы получите:
-Сроки разработки - от 14 дней
-Настройка рекламы в Яндекс.Директ в подарок
-Уникальный дизайн и адаптивность
-Возможна поэтапная оплата
-27 инструментов для увеличения конверсии Вашего сайта = 0 ₽
📊 Все включено:
- Маркетинг
- Уникальный дизайн
- Мобильная адаптация
- Безопасность
- SEO-адаптация
✨Используем принципы психологии для создания интуитивных интерфейсов и контента. Анализируем потребности аудитории и учитываем их мотивы и предпочтения.
Дарим скидку 10% на разработку сайта до конца февраля. Переходите и оставьте заявку!
Узнать цену
#реклама
land.seovolga.ru
О рекламодателе
6 621
✈️SQLite — это легковесная система управления базами данных, которая не требует установки сервера и идеально подходит для небольших приложений. В Python работа с SQLite осуществляется через стандартную библиотеку
sqlite3.
➡️Пример создания базы данных и работы с таблицами:
import sqlite3
# Подключаемся к базе данных (или создаем новую)
conn = sqlite3.connect('library.db')
cursor = conn.cursor()
# Создаем таблицу "books"
cursor.execute('''
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
author TEXT NOT NULL,
year INTEGER
)
''')
# Добавляем книгу в таблицу
def add_book(title, author, year):
cursor.execute('INSERT INTO books (title, author, year) VALUES (?, ?, ?)', (title, author, year))
conn.commit()
print(f"Книга '{title}' добавлена.")
# Получаем все книги из таблицы
def get_all_books():
cursor.execute('SELECT * FROM books')
rows = cursor.fetchall()
for row in rows:
print(row)
# Удаляем книгу по ID
def delete_book(book_id):
cursor.execute('DELETE FROM books WHERE id = ?', (book_id,))
conn.commit()
print(f"Книга с ID {book_id} удалена.")
# Добавляем несколько книг
add_book("Война и мир", "Лев Толстой", 1869)
add_book("Преступление и наказание", "Фёдор Достоевский", 1866)
# Выводим все книги
print("Список всех книг:")
get_all_books()
# Удаляем одну книгу
delete_book(1)
# Выводим обновленный список книг
print("\nОбновленный список книг:")
get_all_books()
# Закрываем соединение
conn.close()
⬆️Результат:
Книга 'Война и мир' добавлена. Книга 'Преступление и наказание' добавлена. Список всех книг: (1, 'Война и мир', 'Лев Толстой', 1869) (2, 'Преступление и наказание', 'Фёдор Достоевский', 1866) Книга с ID 1 удалена. Обновленный список книг: (2, 'Преступление и наказание', 'Фёдор Достоевский', 1866)🔎Как это работает? Подключение к базе данных: Мы используем sqlite3.connect() для создания или открытия существующей базы данных. Создание таблиц: SQL-команда CREATE TABLE используется для определения структуры данных. Добавление данных: Метод execute() выполняет SQL-запросы, а commit() сохраняет изменения. Чтение данных: Команда SELECT позволяет получить данные из таблицы. 🐍 Pythoner
6 621
✈️PyQt6 — это популярная библиотека для разработки кроссплатформенных приложений с графическим интерфейсом (GUI) на языке Python. Она основана на Qt, одной из самых мощных фреймворков для разработки GUI, и предоставляет простой и удобный API для работы с виджетами, сигналами и слотами.
➡️Давайте создадим простое окно с кнопкой "Приветствие":
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# Настройка главного окна
self.setWindowTitle("Приветствие PyQt6")
self.setGeometry(100, 100, 300, 200)
# Создаем виджеты
self.label = QLabel("Нажмите кнопку!", self)
self.button = QPushButton("Приветствовать", self)
# Подключаем сигнал к слоту
self.button.clicked.connect(self.on_button_click)
# Размещаем виджеты в макете
layout = QVBoxLayout()
layout.addWidget(self.label)
layout.addWidget(self.button)
container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)
def on_button_click(self):
"""Обработчик нажатия кнопки"""
self.label.setText("Привет, PyQt6!")
# Запуск приложения
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
⬆️При запуске программы откроется окно с надписью "Нажмите кнопку!" и кнопкой "Приветствовать". При нажатии на кнопку текст изменится на "Привет, PyQt6!".
➡️Почему PyQt6 полезен?
— Кроссплатформенность: Приложения на PyQt6 работают на Windows, macOS и Linux без изменения кода.
— Богатый набор виджетов: От простых кнопок до сложных элементов, таких как таблицы, графики и диалоговые окна.
— Профессиональный внешний вид: Интерфейсы, созданные с помощью PyQt6, выглядят современно и элегантно.
— Гибкость: Вы можете создавать как простые, так и сложные приложения с использованием различных возможностей библиотеки.
💡Заключение
PyQt6 — это мощный инструмент для создания графических приложений в Python. Его можно легко изучить, начиная с простых примеров, таких как создание окон и кнопок, и постепенно переходить к более сложным проектам.
🐍 Pythoner6 621
✈️API (Application Programming Interface) — это интерфейс, который позволяет программам взаимодействовать друг с другом. С помощью API вы можете получать данные из различных сервисов, таких как погода, курсы валют, социальные сети и многое другое.
Python предоставляет удобные инструменты для работы с API через библиотеку
requests.
➡️Допустим, мы хотим получить текущую погоду для города с помощью бесплатного сервиса OpenWeatherMap:
import requests
# Ваш API-ключ (нужно зарегистрироваться на сайте OpenWeatherMap)
API_KEY = 'your_api_key_here'
# URL для запроса погоды
url = f"http://api.openweathermap.org/data/2.5/weather?q=London&appid={API_KEY}&units=metric"
# Отправляем GET-запрос
response = requests.get(url)
# Проверяем статус ответа
if response.status_code == 200:
data = response.json() # Преобразуем ответ в JSON
temperature = data['main']['temp']
description = data['weather'][0]['description']
print(f"Текущая температура в Лондоне: {temperature}°C")
print(f"Описание: {description}")
else:
print("Ошибка при получении данных:", response.status_code)
⬆️Результат:
Текущая температура в Лондоне: 15°C Описание: cloudy➡️Почему работа с API полезна? — Интеграция с внешними сервисами : Вы можете получать актуальные данные из интернета (погода, новости, курсы валют). — Автоматизация : Автоматизируйте рутинные задачи, такие как проверка почты или мониторинг сайтов. — Создание приложений : Используйте API для создания сложных приложений, которые взаимодействуют с различными сервисами. 💡Работа с API открывает огромные возможности для взаимодействия с внешними сервисами. Начните с простых примеров, таких как получение погоды, и постепенно переходите к более сложным задачам. 🐍 Pythoner
6 621
Поможем привлечь IT-аудиторию на ваши мероприятия
У нас более 1 млн подписчиков в Telegram: разработчики, аналитики, инженеры, тимлиды и CTO. С самой вовлеченной IT-аудиторией: ER до 30% .
Нам доверяют крупные рекламодатели: Ozon, Sber, Сибур, Яндекс, Яндекс Практикум, Selectel, GeekBrains и многие другие.
Что мы можем вам предложить?
– Точечный таргетинг только на нужный сегмент: backend, frontend, аналитики, нейросети и многое другое.
– Каналы с активной и живой аудиторией — никакой накрутки или ботов.
– Гибкий выбор форматов и дат размещения.
– Нестандартные активности: квизы, трансляции, вебинары, нативные интеграции в статьях и в e-mail-рассылках.
Чтобы проще было начать дарим скидка 30% на первое размещение рекламы!
Узнать больше
#реклама 16+
ad.proglib.io
О рекламодателе
6 621
✈️Что такое регулярные выражения?
Регулярные выражения (или regex) — это язык для описания шаблонов текста. С их помощью можно выполнять сложные операции поиска, проверки и замены строк. В Python регулярные выражения реализованы через модуль re.
➡️Пример поиска с использованием regex
Допустим, у нас есть текст, и мы хотим найти все электронные адреса:
import re
# Исходный текст
text = """
Контакты:
email1@example.com
email2@example.org
Телефон: +7-900-123-45-67
"""
# Шаблон для поиска email-адресов
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
# Находим все совпадения
emails = re.findall(pattern, text)
print("Найденные email-адреса:", emails)
⬆️Что выдаст нам:
Найденные email-адреса: ['email1@example.com', 'email2@example.org']➡️Пример замены текста Теперь давайте заменим все цифры в тексте на символ *:
# Исходный текст
text = "Цена товара: 123 рубля, количество: 5 штук"
# Шаблон для поиска цифр
pattern = r'\d+'
# Заменяем все цифры на '*'
result = re.sub(pattern, '*', text)
print("Измененный текст:", result)
⬆️Результат кода:
Измененный текст: Цена товара: * рубля, количество: * штук➡️Практическое применение: — Проверка корректности email-адресов или телефонных номеров. — Анализ логов сервера для извлечения важной информации. — Обработка текстовых документов для очистки данных. 💡И в заключение: Регулярные выражения — это мощный инструмент для работы с текстовыми данными. Хотя они могут показаться сложными на первый взгляд, практика поможет вам освоить их быстро. 🐍 Pythoner
6 621
Поменяй свою жизнь - будь программистом! Обучение с нуля
⚡Если ты устал от работы в офисе и хочешь поменять свою жизнь - тебе к нам! Мы научим тебя Java разработке, а также поможем найти первую работу в IT. Не упускай шанс поменять свою жизнь, приходи к нам на бесплатный урок, который состоится 15 февраля 2025г.. Каждому, кто будет с нами на уроке, мы подарим скидку 10% на обучение! Переходи в наш канал, чтобы записаться ✅
Узнать больше
#реклама 16+
О рекламодателе
6 621
Цены на все Серверы онлайн! Удобный конфигуратор!
Серверы STSS Flagman✅
Огромный выбор решений 👍
Консультации лучших экспертов 👌
Непревзойденный сервис ❤️
Получить предложение
#реклама
stss.ru
О рекламодателе
6 621
✈️CSV (Comma-Separated Values) — это формат хранения табличных данных, где каждая строка представляет одну запись, а значения внутри строки разделены запятыми. Это простой и универсальный формат, который используется во многих приложениях.
Python предоставляет удобные инструменты для работы с CSV-файлами через стандартную библиотеку
csv.
➡️Пример чтения CSV-файла:
💬Допустим, у нас есть файл data.csv со следующим содержимым:
name,age,city Alice,30,New York Bob,25,Los Angeles Charlie,35,Chicago💬Вот как мы можем прочитать этот файл:
import csv
# Открываем файл для чтения
with open('data.csv', mode='r', encoding='utf-8') as file:
reader = csv.DictReader(file) # Создаем читатель с заголовками
for row in reader:
print(f"Имя: {row['name']}, Возраст: {row['age']}, Город: {row['city']}")
💬Что в результате нам даст:
Имя: Alice, Возраст: 30, Город: New York Имя: Bob, Возраст: 25, Город: Los Angeles Имя: Charlie, Возраст: 35, Город: Chicago➡️Пример записи в CSV-файл 💬Теперь давайте создадим новый CSV-файл:
import csv
# Данные для записи
data = [
{'name': 'David', 'age': 28, 'city': 'Houston'},
{'name': 'Eva', 'age': 22, 'city': 'San Francisco'}
]
# Открываем файл для записи
with open('new_data.csv', mode='w', encoding='utf-8', newline='') as file:
fieldnames = ['name', 'age', 'city'] # Заголовки столбцов
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader() # Пишем заголовки
writer.writerows(data) # Пишем данные
⬆️После выполнения этого кода будет создан файл new_data.csv со следующим содержимым:
name,age,city David,28,Houston Eva,22,San Francisco🔎Как это работает? — Чтение CSV : Мы используем csv.DictReader, который преобразует строки файла в словари, где ключи — это заголовки столбцов. — Запись CSV : Мы используем csv.DictWriter, который позволяет легко записывать данные в файл с указанием заголовков. ➡️Практическое применение: — Импорт/экспорт данных из базы данных. — Анализ логов сервера. — Обработка результатов опросов или анкет. 🐍 Pythoner
6 621
📥 7539 ГБ платного контента из онлайн-школ утекли в Telegram и теперь лежат в открытом доступе:
👩💻 Java (644 ГБ)
🖥 Python (724 ГБ)
🖥 Frontend (981 ГБ)
🖥 Backend (817 ГБ)
🖥 Все языки (4373 ГБ)
Вход открыт ровно на 48 часов 🕔
6 621
Онлайн-интенсив для ИТ-специалистов в Открытых школах Т1
Уже есть опыт работы в ИТ, но хочешь прокачать скилы и продвинуться в карьере?
Тогда скорее залетай на бесплатный ИТ-интенсив в Открытых школах Т1.
Открытые школы — это возможность усилить свои навыки и получить оффер в ИТ-холдинг Т1. И все это за месяц, онлайн и в удобное вечернее время.
Что ты получишь?
✅ бесплатное обучение в гибком формате: по вечерам, онлайн, из любого города РФ и РБ.
✅ материалы от HR для прокачки резюме и подготовки к интервью в Т1.
✅ много практики и уникальный рыночный опыт.
✅ поддержку опытных преподавателей и карьерный фаст-трек до мидла в Т1 для лучших выпускников.
✅ реальный шанс получить оффер в Т1.
Более 1000 специалистов уже прошли этот путь — теперь твоя очередь!
Регистрация до 14 марта!
Подать заявку
#реклама 16+
t1.ru
О рекламодателе
6 621
✈️Декораторы — это функции, которые позволяют изменять или расширять поведение других функций без изменения их исходного кода. Это мощный инструмент, который помогает писать более чистый и повторно используемый код.
➡️Пример базового декоратора, который измеряет время выполнения функции:
import time
# Определяем декоратор
def timer_decorator(func):
def wrapper():
start_time = time.time() # Засекаем время начала
func() # Вызываем оригинальную функцию
end_time = time.time() # Засекаем время окончания
print(f"Функция {func.__name__} выполнилась за {end_time - start_time:.4f} секунд")
return wrapper
# Применяем декоратор к функции
@timer_decorator
def my_function():
time.sleep(2) # Имитируем долгую операцию
print("Функция завершила работу")
# Вызываем функцию
my_function()
⬆️Результат:
Функция завершила работу Функция my_function выполнилась за 2.0012 секунд➡️Практическое применение — Логирование действий пользователя. — Проверка авторизации перед выполнением функции. — Кэширование результатов функции для ускорения работы. ➡️Почему декораторы полезны? — Чистота кода : Вы можете добавить общую логику (например, логирование, проверку прав доступа) без изменения основной функции. — Повторное использование : Однажды написанный декоратор можно применять к разным функциям. — Сокращение дублирования : Если одна и та же логика нужна в нескольких местах, декоратор поможет избежать копипасты. 🐍 Pythoner
6 621
Когда подрядчик тележится, добавляйте его в Коллабу
Битрикс24 Коллабы – платформа для эффективной работы с подрядчиками. Тут обсуждения превращаются в задачи, а видео созвон можно собрать одной кнопкой. Любой проект можно разложить по полочкам с понятным ТЗ и обозначенными сроками.
Работайте в Битрикс24 и создавайте Коллабы с подрядчиками.
Начать
#реклама 16+
collabs.bitrix24.ru
О рекламодателе
