Python академия
Open in Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Show more7 176
Subscribers
No data24 hours
-117 days
-4230 days
Posts Archive
7 175
Простой веб-фреймворк
На сегодняшний день упрощенным вариантом веб-фреймворка WSGI для Python, является Bootle.
Это своего рода файловый модуль в единственном числе не имеющий сторонних библиотек, кроме стандартной Python.
Модуль Bootle вполне реализует себя в работах как с малыми, так и большими проектами, хотя его функционал состоит не из самых обширных возможностей: обработка форм, routing, POST-routing, сервер и cookies.
Для более точного рассмотрения результата, достаточно запустить данный модуль, прописать пять строк кода и перейти по адресной строке в браузере: localhost:5000/hello/world
Подписывайтесь на канал 👉@pythonofff
7 175
В науке управления фокус внимания чаще всего указывает на то, как команде работать «больше». Как мотивировать сотрудников, какие процессы и метрики применять. Это чрезвычайно важный навык руководителя.
Действительно, руководителю необходимо получать результат, используя минимум ресурсов. И здесь есть небольшой подвох, причинно-следственная нестыковка. Разве же работать «больше» и получать результат, нужный нашему заказчику, это одно и то же?
👉На бесплатном вебинаре онлайн-курса «Team Lead разработки» — «Как тимлиду делать меньше, чтобы получать больше» — обсудим вопрос: всегда ли тяжелый труд означает замечательный результат?
Обсудим часто остающийся в тени ресурс повышения результативности путем минимизации выполняемой работы. А также научимся применять этот ресурс.
Вебинар будет полезен IT-специалистам, принимающим решения всех уровней и влияющим на загрузку команд — тимлидам, руководителям проектов, архитекторам, аналитикам.
После вебинара вы увидите и научитесь использовать секретный ресурс увеличения результативности через минимизацию затрат. А что, так можно было?!
🔥Также вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
7 175
🤖 Разбираешься в Android разработке? - Проверь себя, пройди тест!
Хочешь расти дальше и создавать быстрые, оптимизированные приложения для Android - тогда наш курс для тебя!
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Android Developer. Professional " от OTUS по специальной цене.
Возможна оплата курса в рассрочку
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru7 175
Как удалить строку из файла в Python?
filename = "test.txt"
delete_string = "строка 2"
lines = []
with open(filename, 'r') as file:
for line in file:
if line.strip() != delete_string:
lines.append(line)
with open(filename, "w") as file:
file.writelines(lines)
Подписывайтесь на канал 👉@pythonofff
7 175
Ускоряем код при помощи векторизации?
Лучшее решение — векторизация вычислений. Простыми словами: использование функций, которые поддерживают операцию над векторами.
По сути, самым лучшим способом для ускорения любого цикла - это полный отказ от него. В примере выше для работы с функцией my_func мы легко могли бы обойтись вызовом ее в цикле для каждого элемента списка, но еще проще будет использовать vectorize.
Вообще, vectorize преображает функцию таким образом, что она целиком принимает весь вектор, а не ее отдельные элементы. Только знайте, что такой прием не всегда ускорит ее в значительной степени.
Подписывайтесь на канал 👉@pythonofff
7 175
Как удалить папку с файлами в Python?
Вы можете использовать shutil.rmtree() метод, чтобы удалить директорию со всеми файлами в ней на Python, посмотрите небольшой код ниже:
import shutil
path = "/tmp/test_folder"
# Удалить папку и все файлы в ней
shutil.rmtree(path)
Подписывайтесь на канал 👉@pythonofff
7 175
Как импортировать класс из другого файла в python?
Вы можете использовать from "<Название_Файла>" import "<Название_Класса>"
from math_function import Axe
axe = Axe(x = 10, y = 13)
print(axe.summ())
# Вывод : 23
Файл "math_function.py"
class Axe:
def __init__(self, x : int, y : int):
self.x = x
self.y = y
def summ(self):
return x + y
Подписывайтесь на канал 👉@pythonofff
7 175
🧚♀️Задумывались ли вы когда-нибудь, как может выглядеть идеальная библиотека для работы с данными? Наверняка с помощью такой библиотеки можно очень гибко настраивать валидацию данных, трансформировать данные в разные формы, описывать предметную область, находить закономерности в массивах данных, генерировать тестовые данные по образцу, разбирать не структурированные данные на составные части и даже исправлять грамматические ошибки. Вдобавок, она должна быть простой для понимания и производительной. Такая библиотека это не мечта, а вполне себе реальность!
👉На бесплатном вебинаре онлайн-курса «Clojure Developer» — «Malli, программируем на схемах» мы познакомимся с библиотекой Malli, посмотрим на стандартные (и не очень) сценарии её использования: регистрация
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
7 175
Блок else в циклах for и while
Цикл while используется для выполнения условия до тех пор, пока оно не будет оценено как истинное.
Цикл for используется для повторения определенных строк кода в программе. Предположим, вы хотите напечатать числа до 10, вы можете сделать это, набрав 10 операторов печати или используя цикл for. Цикл for повторяет часть программы на основе последовательности.
В Python циклы for и while могут содержать блок else, который выполнится, только если цикл завершится без применения break.
Рассмотрим это на примере функции, ищущей иголку (needle) в стоге сена (haystack).
Подписывайтесь на канал 👉@pythonofff
7 175
Как в Python используется оператор +
Прежде чем приступить к методам append() и extend(), давайте посмотрим, как происходит конкатенация (объединение) списков при помощи оператора +.
Допустим, у нас есть два списка, list1 и list2, которые мы хотим объединить (то есть склеить вместе два целых списка).
Если вы внимательно прочтете приведенный выше код, вы заметите следующие вещи:
• list1 + list2 не добавляет элементы из list2 в list1.
• Вместо этого создается новый список, содержащий элементы из list1 и list2.
• В результате сами списки list1 и list2 остаются в первозданном виде.
Есть методы с использованием append() и extend().
Подписывайтесь на канал 👉@pythonofff
7 175
Как удалить каждый второй элемент списка в python?
Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array[::2])
# Вывод : [1, 3, 5, 7, 9]
Подписывайтесь на канал 👉@pythonofff
7 175
Как в Python удалить файл или папку
Для простого удаления файлов и папок используется стандартная библиотека os.
— Для удаления файлов используем функцию remove()
— Для удаления папки используем функцию rmdir()
— Для удаления папки и в ней содержимого используем shutil.rmtree()
Подписывайтесь на канал 👉@pythonofff
7 175
Как скачать видео с youtube с помощью python?
Вы можете использовать библиотеку pytube для скачки видео с youtube
import pytube
link = "../" # Ссылка на видео
path = "../" # Путь, куда будет сохранятся видео
YT_parser = pytube.YouTube(link)
video_with_highest_resolution = YT_parser.streams.get_highest_resolution()
video_with_highest_resolution.download(path)
Подписывайтесь на канал 👉@pythonofff
7 175
Как правильно создавать классы в python?
Вы можете придерживаться синтаксиса
class <Название_Класса>:
def __init__(<Аргументы_Класса>):
pass
(Конструктор класса не всегда обязателен)
Создание класса вы можете увидеть на примере :
class Axe: # Создаем класс с названием "Axe"
def __init__(self, x : int, y : int): # Создаем конструктор класса, который принимает "x" и "y"
self.x = x
self.y = y
def increment(self): # Создаем метод класса
print(self.x + self.y)
Подписывайтесь на канал 👉@pythonofff
7 175
Функции map(), filter() и reduce() используют, чтобы привнести в Python немного функционального программирования.
Все три из них являются удобными функциями, которые можно заменить на списки или циклы. Но они
обеспечивают более элегантный и краткий подход к некоторым задачам.
1. map() - функция map перебираeт все элементы в данном итеративном объекте и выполняeт функцию, которую мы передали в качестве аргумента для каждого из них.
2. filter() - Подобно map(), filter() принимает объект функции и итерацию и создает новый список. Как следует из названия, filter() формирует новый список, содержащий только элементы, удовлетворяющие определенному условию.
3. reduce() - reduce работает иначе, чем map() и filter(). Он не возвращает новый список, основанный на функции и итерации, которые мы передали.
Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).
Подписывайтесь на канал 👉@pythonofff
7 175
Как читать бинарные файлы на python?
Вы можете читать бинарные файлы с помощью режима чтения "rb"
with open('index.dat', 'rb') as binary_file:
info = binary_file.read()
Как читать большие файлы в python?
Самый простой метод чтения больших файлов - чтение построчно. При таком методе оперативная память не забивается.
with open('data.txt', 'r') as file:
for line in file:
print(line)
Подписывайтесь на канал 👉@pythonofff
7 175
Методы list в Python
Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.
1. append() - добавляет элемент в конец списка.
2. clear() - удаляет все элементы из списка
3. copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.
4. count() - считает, сколько раз в списке встречается переданный аргумент.
Подписывайтесь на канал 👉@pythonofff
7 175
Методов списков list
Напоминаю, списки в Python – упорядоченные последовательности элементов различных типов данных. Списки можно изменять, например, добавлять новые элементы.
1. list.append(x) – добавляет элемент, переданный в качестве аргумента, в конец списка. Этот метод является самым простым и распространённым в коде.
2. list.insert(i, x) – вставляет элемент в переданную позицию. Первый аргумент означает индекс элемента, перед которым будет добавлено новое значения.
Таким образом, list.insert(0, x) вставит элемент в начало списка, а list.insert(len(list), x) эквивалентно записи list.append(x).
3. list.extend(iterable) – расширяет список, добавляя все элементы другой коллекции.
Подписывайтесь на канал 👉@pythonofff
7 175
Распаковка последовательности при неизвестном числе элементов.
Для этого в Python есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции
Подписывайтесь на канал 👉@pythonofff
7 175
Как удалить элемент из словаря в python по ключу?
Вы можете использовать del <Список>["<Ключ>"]
costs = {
"The Mist" : 13,
"Mile 81" : 12,
"11/22/63" : 17,
"The Green Mile" : 14,
"Fairy Tale" : 10,
"End of Watch" : 18
}
del costs["Mile 81"]
print(costs)
# Вывод : {'The Mist': 13, '11/22/63': 17, 'The Green Mile': 14, 'Fairy Tale': 10, 'End of Watch': 18}
Подписывайтесь на канал 👉@pythonofff
