def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
for i in range(50):
print(i, fibonacci(i))
lru_cache из встроенного модуля functools:from functools import lru_cache
@lru_cache
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
for i in range(50):
print(i, fibonacci(i))
Подробнее про этот декоратор можно почитать здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5🔥3
Оператор raise в Python позволяет нам создавать исключения вручную. Мы можем указать тип исключения и дополнительное сообщение, которое будет содержаться в исключении. Например, мы можем создать исключение типа ValueError, если функция получила некорректное значение аргумента. Мы также можем наследовать собственные классы исключений от встроенных классов, чтобы создать более специфичные исключения для наших нужд.
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, чтобы поймать и обработать ошибку.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5🔥2
PyWebCopy обладает несколькими основными функциями, которые делают его полезным инструментом для скачивания веб-сайтов:
1. Полное скачивание сайта: С помощью pywebcopy вы можете скачать целый веб-сайт, включая все его страницы, изображения, стили CSS и другие ресурсы. Это особенно полезно, когда требуется сохранить копию веб-сайта или работать с ним офлайн.
2. Обработка ссылок: PyWebCopy автоматически обрабатывает ссылки на другие страницы внутри веб-сайта и корректно настраивает их, чтобы они указывали на локально скачанные версии страниц. Это позволяет вам легко навигировать по веб-сайту и просматривать его содержимое в офлайн-режиме.
3. Поддержка фильтров: Вы можете настроить 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)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥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)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥2
Transliterate обеспечивает простой перевод текста между кириллицей и латиницей в Python. Установка производится командой pip install transliterate.from transliterate import translit
text = "Привет, мир!"
transliterated_text = translit(text, 'ru', reversed=True)
print(transliterated_text)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥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
Если вам больше не нужен определенный пакет, вы можете удалить его с помощью команды
uninstall. Например, чтобы удалить пакет requests, вы можете использовать следующую команду:pip uninstall requests
Вы также можете указать конкретную версию пакета, которую вы хотите удалить. Например, чтобы удалить версию 2.22.0 пакета
requests, вы можете использовать следующую команду:pip uninstall requests==2.22.0
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤8🔥4
Вчера мы разбирали основные команды pip, если вы еще не видели, обязательно посмотрите.
➡️ Команда pip show
Команда 'pip show' позволяет получить подробную информацию о конкретном пакете Python. Она показывает название пакета, его версию, автора, домашнюю страницу, зависимости и многое другое. Это очень удобно, когда вы хотите быстро узнать о пакете, с которым работаете, или проверить версию, чтобы убедиться, что у вас установлена самая новая.
Пример использования команды pip show:
➡️ Команда pip search
Команда 'pip search' предоставляет возможность искать новые пакеты Python прямо из командной строки. Она позволяет разработчикам найти пакеты по ключевым словам, описанию или автору. Это может быть полезно, когда вы ищете новые инструменты или библиотеки для своего проекта и хотите найти что-то, что соответствует вашим потребностям.
Пример использования команды pip search:
➡️ Команда pip freeze
Команда 'pip freeze' позволяет создать файл со списком всех установленных пакетов Python и их версиями. Это полезно, когда вы хотите поделиться своим проектом с другими разработчиками или восстановить его на другой машине. Просто запустите 'pip freeze > requirements.txt' и получите файл, который можно передать другим, чтобы они могли легко установить все необходимые зависимости.
Пример использования команды pip freeze:
🐍 Pythoner
Команда 'pip show' позволяет получить подробную информацию о конкретном пакете Python. Она показывает название пакета, его версию, автора, домашнюю страницу, зависимости и многое другое. Это очень удобно, когда вы хотите быстро узнать о пакете, с которым работаете, или проверить версию, чтобы убедиться, что у вас установлена самая новая.
Пример использования команды pip show:
pip show requests
Команда 'pip search' предоставляет возможность искать новые пакеты Python прямо из командной строки. Она позволяет разработчикам найти пакеты по ключевым словам, описанию или автору. Это может быть полезно, когда вы ищете новые инструменты или библиотеки для своего проекта и хотите найти что-то, что соответствует вашим потребностям.
Пример использования команды pip search:
pip search data analysis
Команда 'pip freeze' позволяет создать файл со списком всех установленных пакетов Python и их версиями. Это полезно, когда вы хотите поделиться своим проектом с другими разработчиками или восстановить его на другой машине. Просто запустите 'pip freeze > requirements.txt' и получите файл, который можно передать другим, чтобы они могли легко установить все необходимые зависимости.
Пример использования команды pip freeze:
pip freeze > requirements.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
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>
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>
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7🔥6
Первым шагом для воспроизведения звуков с помощью 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()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍9🔥3
Один из способов выключить компьютер при помощи Python - использовать модуль
os. Этот модуль предоставляет функции для работы с операционной системой. Для выключения компьютера мы можем использовать функцию system с параметром "shutdown -s -t 0". Вот пример кода:import os
os.system("shutdown -s -t 0")
"shutdown -s -t 0", которая выключит компьютер через 0 секунд. Вы можете изменить значение параметра -t в зависимости от того, через сколько секунд вы хотите выключить компьютер.Еще один способ выключить компьютер при помощи Python - использовать модуль
subprocess. Этот модуль предоставляет возможность запускать новые процессы, в том числе и команды операционной системы. Для выключения компьютера мы можем использовать функцию call с параметрами ["shutdown", "-s", "-t", "0"]. Вот пример кода:import subprocess
subprocess.call(["shutdown", "-s", "-t", "0"])
"shutdown -s -t 0", которая выключит компьютер через 0 секунд.Если вы используете операционную систему Windows, еще один способ выключить компьютер при помощи Python - использовать модуль
win32api. Этот модуль предоставляет функции для взаимодействия с операционной системой Windows. Для выключения компьютера мы можем использовать функцию ExitWindowsEx с параметром 0x00000008. Вот пример кода:import win32api
win32api.ExitWindowsEx(0x00000008)
ExitWindowsEx(0x00000008), которая выключит компьютер.Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤5🔥3
Одним из способов узнать размер файла в 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} байт")
Другой способ узнать размер файла в 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(). Этот модуль также предоставляет информацию о файле, включая его размер. Вот пример кода:import os
# Путь к файлу
file_path = 'path/to/file.txt'
# Получить информацию о файле
file_info = os.stat(file_path)
# Получить размер файла
file_size = file_info.st_size
print(f"Размер файла: {file_size} байт")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6🔥2🤔1
Первый способ, который мы рассмотрим, - это использование встроенной функции Python
os.system(). Эта функция позволяет выполнить команду операционной системы из Python-скрипта. Для запуска файла с помощью данного метода, нужно указать путь к файлу в качестве аргумента функции os.system(). Например, чтобы запустить файл script.py, находящийся в том же каталоге, что и Python-скрипт, можно использовать следующий код:import os
os.system('python script.py')
Этот метод прост в использовании, но у него есть некоторые ограничения. Например, он не возвращает вывод файла, поэтому для получения вывода придется использовать другие методы.
Второй способ, который мы рассмотрим, - это использование модуля
subprocess. Этот модуль предоставляет более гибкий и мощный способ запуска файлов с помощью Python. В отличие от os.system(), модуль subprocess позволяет получать вывод запущенного файла, а также передавать ему аргументы. Пример использования модуля subprocess для запуска файла script.py:import subprocess
subprocess.run(['python', 'script.py'])
Кроме того, модуль
subprocess предоставляет возможность управлять процессом запущенного файла, например, ожидать его завершения или передавать ввод.Третий способ, который мы рассмотрим, - это использование функции
os.startfile(). Эта функция доступна только на платформе Windows и позволяет запускать файлы, используя программу по умолчанию, связанную с данным типом файла. Пример использования функции os.startfile() для запуска файла script.py:import os
os.startfile('script.py')
Этот метод наиболее удобен для запуска файлов с помощью программ, которые зарегистрированы в системе по умолчанию для работы с данным типом файлов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥2
Одним из ключевых аспектов работы с 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 автоматически отслеживает изменения в моделях и генерирует миграционные файлы, которые можно применить к базе данных. Это упрощает процесс разработки и поддержки приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5🔥3⚡2👀1
Списковые включения - это мощный инструмент Python, который позволяет создавать списки в одну строку кода. Функция range() может быть использована в списковых включениях для создания списков, которые следуют определенной числовой последовательности. Например,
[x for x in range(10)] создаст список чисел от 0 до 9.Генераторы в Python - это специальный тип итераторов, который позволяет генерировать элементы "на лету", экономя память. Функцию range() можно использовать в генераторах для создания последовательностей чисел. Например,
(x for x in range(10)) создаст генератор, который производит числа от 0 до 9.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🔥2
HR-специалисты в IT отвечают за привлечение, найм и удержание талантливых IT-специалистов. Они разрабатывают и внедряют стратегии найма, создают и поддерживают корпоративную культуру, обучают и развивают персонал и вносят свой вклад в стратегическое планирование. HR-специалисты в IT также играют ключевую роль в управлении производительностью, управлении конфликтами и улучшении уровня удовлетворенности работников.
HR-специалисты в IT должны обладать глубокими знаниями в области IT, а также различными навыками в области управления персоналом, включая навыки коммуникации, управления конфликтами, планирования и организации. Они также должны быть в состоянии адаптироваться к быстро меняющемуся IT-пейзажу и продолжать обучаться и развиваться вместе с отраслью.
1. Опишите ситуацию, когда вы сделали намного больше, чем от вас ожидали, чтобы завершить проект. Были ли признаны ваши усилия? Кем и как? Что вы при этом почувствовали?
1. Опишите ситуацию, в которой вы столкнулись с серьезным препятствием для завершения проекта. Как ты с этим справился? Какие шаги вы предприняли?
1. Мне было бы интересно узнать о недопонимании между вами и вашим руководителем. Как вы ее решили? В чем причина этого? Как вы справились с этой ситуацией?
1. Приведите мне пример того, как вам пришлось проявить творческий и необычный подход к решению проблемы кодирования. Как вам пришла в голову эта идея? Как вы думаете, почему это было необычно?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥1
Сортировка вставками работает, сравнивая каждый элемент в массиве с его левым соседом. Если текущий элемент меньше, он перемещается влево. Это происходит до тех пор, пока текущий элемент не окажется больше предыдущего. Этот процесс повторяется для каждого элемента в массиве, пока весь массив не будет отсортирован.
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 =" ")
В сортировке вставками каждый новый элемент добавляется в уже отсортированную часть массива. Этот процесс начинается с первого элемента массива и продолжается, пока все элементы не будут отсортированы. На каждом шаге новый элемент сравнивается с элементами в отсортированной части массива и вставляется на правильное место.
Преимущество сортировки вставками в том, что она эффективна для небольших массивов и для массивов, которые уже частично отсортированы. Она также стабильна, что означает, что она сохраняет исходный порядок равных элементов. Однако, она не эффективна для больших массивов, так как требует больше операций сравнения и обмена элементов, чем другие алгоритмы сортировки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥2
— Удобные декораторы и функции для создания асинхронных задач и работы с ними (например,
rob, task, run).— Инструменты для организации параллельного выполнения задач (
decorators like parallel, chunks).— Интеграция с
asyncio для использования асинхронных библиотек.— Удобные классы и функции для работы с очередями задач (
Queue, run_every).— Встроенные инструменты логирования и отладки.
— Поддержка типизации с помощью
typing.Robyn будет полезен тем кто использует в своих приложения большое количество внешних API и тем кто ищет новый способ для оптимизации уже существующих веб-приложений. Т. к. он отлично подходит для проектирования микросервисной архитектуры и обработки событий в реальном времени.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5👍4