Академия Кода
2K subscribers
673 photos
2 videos
2 files
50 links
Академия кода. Полезный контент по программированию. По всем вопросам @evgenycarter
Download Telegram
Библиотека Progressbar

Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.

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

Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.


#python

Подписывайтесь на канал 👉@cod_academy
Как распарсить строку json в Python?

Для того, чтобы распарсить строку json, мы можем перевести её в читаемый для python'а формат dict с помощью метода .loads()

#python

Подписывайтесь на канал 👉@cod_academy
👍1
Как открыть zip файл в Python?

Чтобы открыть zip-файл в Python, вы можете воспользоваться стандартной библиотекой zipfile

#python

Подписывайтесь на канал 👉@cod_academy
infinity

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

float('infinity') или float('inf') для получения максимально возможного числа

float('-infinity') или float('-inf') для получения минимально возможного числа.

Не работает с int, требуется использовать именно float.

#python

Подписывайтесь на канал 👉@cod_academy
hex, oct, bin

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

Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему

А из любой системы счисления можно получить число максимально простым способом:
int(number, base)

#python

Подписывайтесь на канал 👉@cod_academy
👍31
Регулярные выражения

Метод sub позволяет заменить в строке по шаблону на нужный нам текст.

repl, string, max=0)

pattern - шаблон
repl - на что заменяем
string - строка по которой ищем
max - сколько раз заменяем

Соответственно, этот метод возвращает нужную нам строку.

#python

Подписывайтесь на канал 👉@cod_academy
👍1
Как создать объекты класса через цикл в Python?

Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом Axes и модулем random.

Примемр кода.

import random

class Axes: # Создаем класс
def __init__(self, offset_x : int, offset_y : int) -> None:
self.offset_x = offset_x
self.offset_y = offset_y

def get_info(self) -> str:
return f"{self.offset_x} : {self.offset_y}"

axes = []

for i in range(10): # Запускаем цикл
axe = Axes(offset_x = random.randint(0, 10), offset_y = random.randint(0, 10)) # Создаем экземпляр класса
axes.append(axe) # Добавляем экземпляр класса в массив экземпляров

for axe in axes:
print(axe.get_info()) # Получаем данные о созданных экземплярах

# Пример вывода :
# 3 : 3
# 1 : 0
# 6 : 1
# 10 : 0
# 6 : 3
# 5 : 10
# 7 : 3
# 5 : 10
# 1 : 10
# 0 : 6

#python

Подписывайтесь на канал 👉@cod_academy
👍2
Регулярные выражения

Вы уже поняли, что при работе со строками модель re просто необходим. Отлаживать их очень тяжело, но все же необходимо.

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

Возможно кому-то данный способ может показаться неудобным. Я так же советую к использованию сайт regex101.com. В нем можно сразу создавать и проверять регулярные выражения, что очень удобно.

#python

Подписывайтесь на канал 👉@cod_academy
👍1
Как удалить дубликаты из списка в python?

Самый простой способ для удаления дубликатов - использование set(), но есть и другие варианты. Например, создание нового массива и сравнение добавляемых значений.

#python

Подписывайтесь на канал 👉@cod_academy
👍3
Библиотека Flask

Если вы работали с запросами, к примеру на библиотеке request, то знаете, что существуют несколько видов запросов.

К примеру, в браузере при получении страницы это метод GET. Когда вы отправляете пароль и логин серверу (или другие данные) - POST. Кроме этого существуют запросы сугубо для программ, а не для браузера.

Какие есть методы?
Основных 4:
GET — получение ресурса
POST — отправить данные
PUT — обновление данных
DELETE — удаление данных

Flask позволяет обрабатывать данные запросы посредством добавления аргумента methods в декоратор.

#python

Подписывайтесь на канал 👉@cod_academy
👍1