Pythoner
7.23K subscribers
862 photos
27 videos
4 files
656 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
😁22🤣7🔥53👍3
🔎Иногда, при разработке программного обеспечения на Python, мы можем столкнуться с ситуациями, когда необходимо явно указать на наличие ошибки.

➡️Когда мы пишем программы, мы стараемся их делать максимально надежными и безопасными. Однако, иногда может возникнуть ситуация, когда мы хотим явно указать на наличие проблемы. Например, если в функции передаются некорректные аргументы или программа не может продолжить выполнение из-за некорректного состояния. В таких случаях мы можем создать исключение с помощью оператора raise, чтобы прервать нормальное выполнение программы и показать, что что-то пошло не так.

➡️Использование оператора raise

Оператор raise в Python позволяет нам создавать исключения вручную. Мы можем указать тип исключения и дополнительное сообщение, которое будет содержаться в исключении. Например, мы можем создать исключение типа ValueError, если функция получила некорректное значение аргумента. Мы также можем наследовать собственные классы исключений от встроенных классов, чтобы создать более специфичные исключения для наших нужд.

➡️Вот пример использования оператора raise:

def divide_numbers(a, b):
if b == 0:
raise ValueError("Делитель не может быть нулем")
return a / b

try:
result = divide_numbers(10, 0)
print("Результат:", result)
except ValueError as e:
print("Ошибка:", str(e))


⬆️В этом примере мы определяем функцию divide_numbers, которая делит одно число на другое. Если второе число равно нулю, мы вызываем исключение ValueError с сообщением "Делитель не может быть нулем". Затем мы обрабатываем это исключение с помощью блока try-except, чтобы поймать и обработать ошибку.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135🔥2
➡️PyWebCopy - это инструмент на языке Python, который позволяет скачивать целые веб-сайты и их содержимое для локального использования.

🔎Основные возможности pywebcopy

PyWebCopy обладает несколькими основными функциями, которые делают его полезным инструментом для скачивания веб-сайтов:

1. Полное скачивание сайта: С помощью pywebcopy вы можете скачать целый веб-сайт, включая все его страницы, изображения, стили CSS и другие ресурсы. Это особенно полезно, когда требуется сохранить копию веб-сайта или работать с ним офлайн.

2. Обработка ссылок: PyWebCopy автоматически обрабатывает ссылки на другие страницы внутри веб-сайта и корректно настраивает их, чтобы они указывали на локально скачанные версии страниц. Это позволяет вам легко навигировать по веб-сайту и просматривать его содержимое в офлайн-режиме.

3. Поддержка фильтров: Вы можете настроить pywebcopy так, чтобы он скачивал только определенные типы файлов или игнорировал некоторые страницы. Это полезно, если вы хотите ограничить размер скачанного веб-сайта или избежать скачивания ненужной информации.

➡️Как использовать pywebcopy

Для использования pywebcopy вам потребуется установить его с помощью pip. После установки вы можете импортировать его в свой код Python и использовать.

Давайте рассмотрим простой пример использования pywebcopy для скачивания веб-сайта. Предположим, что у нас есть веб-сайт с URL-адресом "[https://www.example.com](https://www.example.com/)" и мы хотим скачать его для дальнейшего использования офлайн.

from pywebcopy import save_webpage

url = '<https://www.example.com>'
project_folder = 'example_website'

save_webpage(url, project_folder)


⬆️В этом примере мы использовали метод save_webpage из pywebcopy для скачивания веб-сайта по указанному URL и сохранения его в папке проекта "example_website". После выполнения этого кода, мы получим локальную копию веб-сайта, включая все его страницы и ресурсы.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
➡️Добавление цвета к текстовому выводу

Черно-белый текст в терминале может быть однообразным и трудным для чтения. Colorama предоставляет набор заранее определенных последовательностей ANSI-escape, которые можно использовать для изменения цвета переднего и заднего плана, а также применения стилей текста, таких как жирный, подчеркнутый и курсивный. Вот пример использования Colorama для вывода красного текста:

from colorama import Fore

print(Fore.RED + "Это красный текст" + Fore.RESET)


➡️Совместимость с различными терминалами

Colorama совместим с различными типами терминалов и операционными системами. Он автоматически определяет, поддерживает ли терминал ANSI-escape последовательности или нет, и включает изменение цвета и стиля соответственно. Это гарантирует правильное отображение цветного текста независимо от используемого терминала.

➡️Упрощение настройки вывода

Colorama предоставляет удобный API для установки цвета переднего и заднего плана, а также применения стилей текста. Вот пример использования Colorama для создания визуально привлекательного вывода:

from colorama import Fore, Back, Style

print(Fore.BLUE + "Синий текст на белом фоне" + Style.RESET_ALL)
print(Back.GREEN + "Зеленый фон" + Back.RESET)
print(Style.BRIGHT + "Яркий текст" + Style.RESET_ALL)


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥2
➡️Библиотека Transliterate обеспечивает простой перевод текста между кириллицей и латиницей в Python. Установка производится командой pip install transliterate.

from transliterate import translit

text = "Привет, мир!"
transliterated_text = translit(text, 'ru', reversed=True)
print(transliterated_text)


➡️Это удобное средство при работе с многоязычными данными.
➡️Документация содержит дополнительные сведения и примеры использования.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥3
📦Установка пакета

Одной из первых команд, которую вы можете использовать с pip, является команда install. Она позволяет установить пакет или несколько пакетов из Python Package Index (PyPI). Например, чтобы установить пакет requests, вы можете использовать следующую команду:

pip install requests


Вы также можете указать конкретную версию пакета, добавив == после его имени. Например, чтобы установить версию 2.22.0 пакета requests, вы можете использовать следующую команду:

pip install requests==2.22.0


➡️Обновление пакета

Команда install также может использоваться для обновления уже установленных пакетов. Если у вас уже установлена более старая версия пакета, вы можете обновить ее до последней версии, используя следующую команду:

pip install --upgrade requests


⬆️Эта команда обновит пакет requests до последней доступной версии.

➡️Удаление пакета

Если вам больше не нужен определенный пакет, вы можете удалить его с помощью команды uninstall. Например, чтобы удалить пакет requests, вы можете использовать следующую команду:

pip uninstall requests


Вы также можете указать конкретную версию пакета, которую вы хотите удалить. Например, чтобы удалить версию 2.22.0 пакета requests, вы можете использовать следующую команду:

pip uninstall requests==2.22.0


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍118🔥4
Вчера мы разбирали основные команды pip, если вы еще не видели, обязательно посмотрите.

➡️Команда pip show

Команда 'pip show' позволяет получить подробную информацию о конкретном пакете Python. Она показывает название пакета, его версию, автора, домашнюю страницу, зависимости и многое другое. Это очень удобно, когда вы хотите быстро узнать о пакете, с которым работаете, или проверить версию, чтобы убедиться, что у вас установлена самая новая.

Пример использования команды pip show:

pip show requests


➡️Команда pip search

Команда 'pip search' предоставляет возможность искать новые пакеты Python прямо из командной строки. Она позволяет разработчикам найти пакеты по ключевым словам, описанию или автору. Это может быть полезно, когда вы ищете новые инструменты или библиотеки для своего проекта и хотите найти что-то, что соответствует вашим потребностям.

Пример использования команды pip search:

pip search data analysis


➡️Команда pip freeze

Команда 'pip freeze' позволяет создать файл со списком всех установленных пакетов Python и их версиями. Это полезно, когда вы хотите поделиться своим проектом с другими разработчиками или восстановить его на другой машине. Просто запустите 'pip freeze > requirements.txt' и получите файл, который можно передать другим, чтобы они могли легко установить все необходимые зависимости.

Пример использования команды pip freeze:

pip freeze > requirements.txt


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥3
🤣293😁3👍2🔥2
✈️HTML (HyperText Markup Language) и XML (eXtensible Markup Language) являются языками, которые используются для описания структуры и содержимого документов. Несмотря на то, что оба языка имеют сходства в своей синтаксисе и структуре, у них есть несколько важных различий.

➡️1. Цель использования

HTML был разработан для создания веб-страниц и отображения содержимого веб-браузерами. Он предоставляет стандартные элементы, такие как заголовки, абзацы которые используются для организации и представления информации на веб-страницах.

Пример HTML:

<!DOCTYPE html>
<html>
<head>
<title>Пример HTML</title>
</head>
<body>
<h1>Заголовок страницы</h1>
<p>Это параграф с текстом.</p>
<a href="<https://example.com>">Ссылка на пример</a>
</body>
</html>


XML предназначен для хранения и передачи данных. Он не предоставляет стандартных элементов, а вместо этого позволяет разработчикам создавать свои собственные пользовательские теги, определенные в собственной схеме. XML широко используется для обмена данными между различными приложениями.

Пример XML:

<book>
<title>Название книги</title>
<author>Имя автора</author>
<year>2021</year>
</book>


➡️2. Синтаксис и структура

HTML имеет фиксированный набор тегов и атрибутов, которые используются для определения структуры и вида веб-страницы. Он имеет строгую структуру, где тег должен быть открыт и закрыт.

Пример HTML:

<!DOCTYPE html>
<html>
<head>
<title>Пример HTML</title>
</head>
<body>
<h1>Заголовок страницы</h1>
<p>Это параграф с <strong>жирным текстом</strong>.</p>
<ul>
<li>Элемент списка 1</li>
<li>Элемент списка 2</li>
</ul>
</body>
</html>


XML имеет гибкую структуру и позволяет разработчикам определять свои собственные пользовательские теги. В XML нет фиксированного набора тегов, и каждый элемент должен быть правильно оформлен с открывающим и закрывающим тегами.

Пример XML:

<book>
<title>Название книги</title>
<author>Имя автора</author>
<year>2021</year>
</book>


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍7🔥6
🎶В Python существует множество инструментов для работы с аудио, и одним из самых популярных является модуль pg.mixer.Sound из библиотеки pygame.

➡️Создание объекта pg.mixer.Sound

Первым шагом для воспроизведения звуков с помощью pg.mixer.Sound является создание объекта звукового файла. Для этого необходимо указать путь к аудиофайлу, который мы хотим воспроизвести. Например, если у нас есть аудиофайл с названием "sound.wav", мы можем создать объект pg.mixer.Sound следующим образом:

import pygame as pg

pg.mixer.init()
sound = pg.mixer.Sound("sound.wav")


➡️Воспроизведение звука

После создания объекта звукового файла мы можем воспроизвести его с помощью метода play(). Например, чтобы воспроизвести звуковой файл "sound.wav", мы можем вызвать следующий код:

sound.play()


Кроме того, мы можем определить количество повторений воспроизведения звука, используя аргумент loop. Например, чтобы воспроизвести звуковой файл "sound.wav" 3 раза, мы можем использовать следующий код:

sound.play(loops=3)


➡️Остановка воспроизведения звука

Если в какой-то момент нам нужно остановить воспроизведение звука, мы можем вызвать метод stop(). Например, чтобы остановить воспроизведение звукового файла "sound.wav", мы можем использовать следующий код:

sound.stop()


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍9🔥3
✈️Выключение компьютера может быть необходимым во многих ситуациях. Например, вы хотите, чтобы компьютер выключился после завершения какой-то задачи или просто хотите сэкономить энергию.

➡️Использование os module

Один из способов выключить компьютер при помощи Python - использовать модуль os. Этот модуль предоставляет функции для работы с операционной системой. Для выключения компьютера мы можем использовать функцию system с параметром "shutdown -s -t 0". Вот пример кода:

import os

os.system("shutdown -s -t 0")


⬆️Этот код выполнит команду "shutdown -s -t 0", которая выключит компьютер через 0 секунд. Вы можете изменить значение параметра -t в зависимости от того, через сколько секунд вы хотите выключить компьютер.

➡️Использование subprocess module

Еще один способ выключить компьютер при помощи Python - использовать модуль subprocess. Этот модуль предоставляет возможность запускать новые процессы, в том числе и команды операционной системы. Для выключения компьютера мы можем использовать функцию call с параметрами ["shutdown", "-s", "-t", "0"]. Вот пример кода:

import subprocess

subprocess.call(["shutdown", "-s", "-t", "0"])


⬆️Этот код выполнит команду "shutdown -s -t 0", которая выключит компьютер через 0 секунд.

➡️Использование win32api module (Windows only)

Если вы используете операционную систему Windows, еще один способ выключить компьютер при помощи Python - использовать модуль win32api. Этот модуль предоставляет функции для взаимодействия с операционной системой Windows. Для выключения компьютера мы можем использовать функцию ExitWindowsEx с параметром 0x00000008. Вот пример кода:

import win32api

win32api.ExitWindowsEx(0x00000008)


⬆️Этот код выполнит команду ExitWindowsEx(0x00000008), которая выключит компьютер.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145🔥3
➡️Использование функции os.path.getsize()

Одним из способов узнать размер файла в Python является использование функции os.path.getsize(). Эта функция из модуля os.path возвращает размер файла в байтах. Вот пример, как можно использовать эту функцию:

import os

# Путь к файлу
file_path = 'path/to/file.txt'

# Получить размер файла
file_size = os.path.getsize(file_path)

print(f"Размер файла: {file_size} байт")


➡️Использование модуля pathlib

Другой способ узнать размер файла в Python - использовать модуль pathlib. Этот модуль предоставляет удобные методы для работы с путями к файлам и папкам. Чтобы узнать размер файла с помощью pathlib, можно использовать метод stat(), который возвращает объект os.stat_result, содержащий информацию о файле. Вот пример кода:

from pathlib import Path

# Путь к файлу
file_path = Path('path/to/file.txt')

# Получить размер файла
file_size = file_path.stat().st_size

print(f"Размер файла: {file_size} байт")


➡️Использование модуля os.stat()

Третий способ узнать размер файла - использовать модуль os.stat(). Этот модуль также предоставляет информацию о файле, включая его размер. Вот пример кода:

import os

# Путь к файлу
file_path = 'path/to/file.txt'

# Получить информацию о файле
file_info = os.stat(file_path)

# Получить размер файла
file_size = file_info.st_size

print(f"Размер файла: {file_size} байт")


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76🔥2🤔1
➡️Использование команды os.system()

Первый способ, который мы рассмотрим, - это использование встроенной функции Python os.system(). Эта функция позволяет выполнить команду операционной системы из Python-скрипта. Для запуска файла с помощью данного метода, нужно указать путь к файлу в качестве аргумента функции os.system(). Например, чтобы запустить файл script.py, находящийся в том же каталоге, что и Python-скрипт, можно использовать следующий код:

import os
os.system('python script.py')


Этот метод прост в использовании, но у него есть некоторые ограничения. Например, он не возвращает вывод файла, поэтому для получения вывода придется использовать другие методы.

➡️Использование модуля subprocess

Второй способ, который мы рассмотрим, - это использование модуля subprocess. Этот модуль предоставляет более гибкий и мощный способ запуска файлов с помощью Python. В отличие от os.system(), модуль subprocess позволяет получать вывод запущенного файла, а также передавать ему аргументы. Пример использования модуля subprocess для запуска файла script.py:

import subprocess
subprocess.run(['python', 'script.py'])


Кроме того, модуль subprocess предоставляет возможность управлять процессом запущенного файла, например, ожидать его завершения или передавать ввод.

➡️Использование модуля os.startfile()

Третий способ, который мы рассмотрим, - это использование функции os.startfile(). Эта функция доступна только на платформе Windows и позволяет запускать файлы, используя программу по умолчанию, связанную с данным типом файла. Пример использования функции os.startfile() для запуска файла script.py:

import os
os.startfile('script.py')


Этот метод наиболее удобен для запуска файлов с помощью программ, которые зарегистрированы в системе по умолчанию для работы с данным типом файлов.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥2
✈️Django ORM (Object-Relational Mapping) - это мощный инструмент, который позволяет разработчикам взаимодействовать с базой данных с помощью объектов Python. Он предоставляет удобный способ работать с данными, без необходимости писать сложные SQL-запросы.

➡️Создание моделей

Одним из ключевых аспектов работы с Django ORM является создание моделей. Модель - это класс Python, который определяет структуру таблицы в базе данных. Django ORM автоматически создает таблицу в соответствии с определенной моделью. Модели могут содержать поля, отражающие столбцы таблицы, а также методы и связи с другими моделями. Определение модели в Django ORM очень простое и интуитивно понятное, что делает процесс разработки удобным и эффективным.

Вот пример создания модели в Django ORM:

from django.db import models

class Product(models.Model):
name = models.CharField(max_length=100)
price = models.DecimalField(max_digits=5, decimal_places=2)
description = models.TextField()


➡️Запросы к базе данных

С помощью Django ORM можно выполнять различные типы запросов, такие как выборка данных, фильтрация, сортировка, агрегирование и многое другое.

Вот примеры основных команд для выполнения запросов в Django ORM:

# Выборка всех объектов модели
products = Product.objects.all()

# Фильтрация объектов по условию
cheap_products = Product.objects.filter(price__lt=10)

# Сортировка объектов
sorted_products = Product.objects.order_by('-price')

# Агрегирование данных
total_price = Product.objects.aggregate(Sum('price'))


➡️Миграции базы данных

Еще одно важное преимущество работы с Django ORM - это возможность автоматического создания и применения миграций базы данных. Миграции позволяют легко изменять структуру базы данных, добавлять новые таблицы, поля или изменять существующие. Django ORM автоматически отслеживает изменения в моделях и генерирует миграционные файлы, которые можно применить к базе данных. Это упрощает процесс разработки и поддержки приложения.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥32👀1
✈️Функция range() в Python - это важный инструмент для создания последовательности чисел. Хотя она часто используется в связке с циклом for, есть и другие способы, как можно использовать эту функцию.

➡️Использование range() в списковых включениях

Списковые включения - это мощный инструмент Python, который позволяет создавать списки в одну строку кода. Функция range() может быть использована в списковых включениях для создания списков, которые следуют определенной числовой последовательности. Например, [x for x in range(10)] создаст список чисел от 0 до 9.

➡️Использование range() в генераторах

Генераторы в Python - это специальный тип итераторов, который позволяет генерировать элементы "на лету", экономя память. Функцию range() можно использовать в генераторах для создания последовательностей чисел. Например, (x for x in range(10)) создаст генератор, который производит числа от 0 до 9.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥2
➡️Роль HR-специалистов в IT

HR-специалисты в IT отвечают за привлечение, найм и удержание талантливых IT-специалистов. Они разрабатывают и внедряют стратегии найма, создают и поддерживают корпоративную культуру, обучают и развивают персонал и вносят свой вклад в стратегическое планирование. HR-специалисты в IT также играют ключевую роль в управлении производительностью, управлении конфликтами и улучшении уровня удовлетворенности работников.

➡️Необходимые навыки HR-специалистов в IT

HR-специалисты в IT должны обладать глубокими знаниями в области IT, а также различными навыками в области управления персоналом, включая навыки коммуникации, управления конфликтами, планирования и организации. Они также должны быть в состоянии адаптироваться к быстро меняющемуся IT-пейзажу и продолжать обучаться и развиваться вместе с отраслью.

📂Ниже вы найдете пару поведенческих вопросов для оценки наиболее распространенных характеристик во время нетехнических собеседований с hr.

👀Вопросы поведенческого интервью, ориентированные на действия / самомотивацию

1. Опишите ситуацию, когда вы сделали намного больше, чем от вас ожидали, чтобы завершить проект. Были ли признаны ваши усилия? Кем и как? Что вы при этом почувствовали?

👀Возможность адаптировать поведенческие вопросы интервью

1. Опишите ситуацию, в которой вы столкнулись с серьезным препятствием для завершения проекта. Как ты с этим справился? Какие шаги вы предприняли?

👀Коммуникативные навыки поведенческие вопросы интервью

1. Мне было бы интересно узнать о недопонимании между вами и вашим руководителем. Как вы ее решили? В чем причина этого? Как вы справились с этой ситуацией?

👀Креативные поведенческие вопросы интервью

1. Приведите мне пример того, как вам пришлось проявить творческий и необычный подход к решению проблемы кодирования. Как вам пришла в голову эта идея? Как вы думаете, почему это было необычно?

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥1
✈️Сортировка вставками - это простой, но эффективный алгоритм сортировки, который обрабатывает входные данные, добавляя каждый новый элемент в отсортированную часть массива.

➡️Принцип работы

Сортировка вставками работает, сравнивая каждый элемент в массиве с его левым соседом. Если текущий элемент меньше, он перемещается влево. Это происходит до тех пор, пока текущий элемент не окажется больше предыдущего. Этот процесс повторяется для каждого элемента в массиве, пока весь массив не будет отсортирован.

➡️Вот пример реализации сортировки вставками на Python:

def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >=0 and key < arr[j] :
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key

arr = [12, 11, 13, 5, 6]
insertion_sort(arr)
print ("Отсортированный массив: ", end ="")
for i in range(len(arr)):
print ("%d" %arr[i], end =" ")


⬆️В этом коде мы проходимся по каждому элементу массива, начиная со второго, и сдвигаем его влево, пока не найдем элемент, который меньше текущего.

➡️Процесс сортировки

В сортировке вставками каждый новый элемент добавляется в уже отсортированную часть массива. Этот процесс начинается с первого элемента массива и продолжается, пока все элементы не будут отсортированы. На каждом шаге новый элемент сравнивается с элементами в отсортированной части массива и вставляется на правильное место.

➡️Преимущества и недостатки

Преимущество сортировки вставками в том, что она эффективна для небольших массивов и для массивов, которые уже частично отсортированы. Она также стабильна, что означает, что она сохраняет исходный порядок равных элементов. Однако, она не эффективна для больших массивов, так как требует больше операций сравнения и обмена элементов, чем другие алгоритмы сортировки.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥2
✈️Robyn — это современный веб-фреймворк для языка программирования Python, который ориентирован на разработку высокопроизводительных и масштабируемых приложений. Этот фреймворк, предназначенный для упрощения написания асинхронного кода.

➡️Основные возможности Robyn

— Удобные декораторы и функции для создания асинхронных задач и работы с ними (например, rob, task, run).

— Инструменты для организации параллельного выполнения задач (decorators like parallel, chunks).

— Интеграция с asyncio для использования асинхронных библиотек.

— Удобные классы и функции для работы с очередями задач (Queue, run_every).

— Встроенные инструменты логирования и отладки.

— Поддержка типизации с помощью typing.

➡️Для кого?

Robyn будет полезен тем кто использует в своих приложения большое количество внешних API и тем кто ищет новый способ для оптимизации уже существующих веб-приложений. Т. к. он отлично подходит для проектирования микросервисной архитектуры и обработки событий в реальном времени.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥95👍4
22🤣12🔥6👍2