infinity
Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы
float('infinity') или float('inf') для получения максимально возможного числа
float('-infinity') или float('-inf') для получения минимально возможного числа.
Не работает с int, требуется использовать именно float.
#python
Подписывайтесь на канал 👉@cod_academy
Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы
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
Приходилось вам раньше работать с различными системами счисления? Если да, то вы знаете, как написать программу переводящую из одной системы в другую. Пишется она довольно просто, но иногда стоит задача быстро написать код с какой-то популярной системой счисления. Обычно это двоичная, восьмеричная или шестнадцатеричная. Для всех этих систем есть встроенные функции, которые переводят в нужную нам систему!
Из 10-ричной:
hex - перевод в 16-ричную систему
oct - перевод в 8-ричную систему
bin - перевод в 2-ичную систему
А из любой системы счисления можно получить число максимально простым способом:
int(number, base)
#python
Подписывайтесь на канал 👉@cod_academy
👍3❤1
Регулярные выражения
Метод sub позволяет заменить в строке по шаблону на нужный нам текст.
repl, string, max=0)
pattern - шаблон
repl - на что заменяем
string - строка по которой ищем
max - сколько раз заменяем
Соответственно, этот метод возвращает нужную нам строку.
#python
Подписывайтесь на канал 👉@cod_academy
Метод sub позволяет заменить в строке по шаблону на нужный нам текст.
repl, string, max=0)
pattern - шаблон
repl - на что заменяем
string - строка по которой ищем
max - сколько раз заменяем
Соответственно, этот метод возвращает нужную нам строку.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Как создать объекты класса через цикл в Python?
Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом Axes и модулем random.
Примемр кода.
#python
Подписывайтесь на канал 👉@cod_academy
Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом 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
Вы уже поняли, что при работе со строками модель re просто необходим. Отлаживать их очень тяжело, но все же необходимо.
В python для этого есть встроенная возможность, вы можете указать как флаг re.DEBUG. По названию видно, что данный flag помогает дебажить регулярные выражения.
Возможно кому-то данный способ может показаться неудобным. Я так же советую к использованию сайт regex101.com. В нем можно сразу создавать и проверять регулярные выражения, что очень удобно.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Как удалить дубликаты из списка в python?
Самый простой способ для удаления дубликатов - использование
#python
Подписывайтесь на канал 👉@cod_academy
Самый простой способ для удаления дубликатов - использование
set(), но есть и другие варианты. Например, создание нового массива и сравнение добавляемых значений.#python
Подписывайтесь на канал 👉@cod_academy
👍3
Библиотека Flask
Если вы работали с запросами, к примеру на библиотеке request, то знаете, что существуют несколько видов запросов.
К примеру, в браузере при получении страницы это метод GET. Когда вы отправляете пароль и логин серверу (или другие данные) - POST. Кроме этого существуют запросы сугубо для программ, а не для браузера.
Какие есть методы?
Основных 4:
GET — получение ресурса
POST — отправить данные
PUT — обновление данных
DELETE — удаление данных
Flask позволяет обрабатывать данные запросы посредством добавления аргумента methods в декоратор.
#python
Подписывайтесь на канал 👉@cod_academy
Если вы работали с запросами, к примеру на библиотеке request, то знаете, что существуют несколько видов запросов.
К примеру, в браузере при получении страницы это метод GET. Когда вы отправляете пароль и логин серверу (или другие данные) - POST. Кроме этого существуют запросы сугубо для программ, а не для браузера.
Какие есть методы?
Основных 4:
GET — получение ресурса
POST — отправить данные
PUT — обновление данных
DELETE — удаление данных
Flask позволяет обрабатывать данные запросы посредством добавления аргумента methods в декоратор.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Важные методы в Python, которые должен знать каждый python разработчик.
#python
Подписывайтесь на канал 👉@cod_academy
abs() - возвращает модуль переданного параметра.all() - функция возвращает значение True, если все элементы в итерируемом объекте - истинны. В противном случае, она возвращает значение False.any() - функция возвращает True, если какой-либо (любой) элемент в итерируемом объекте является истинным True. В противном случае, any() возвращает значение False.ascii() - возвращает строку, содержащую печатное представление объекта, и экранирует символы, отличные от ASCII, в строке с помощью экранирования \ x, \ u или \ U.bin() - функция преобразует целое число в двоичную строку с префиксом 0b. #python
Подписывайтесь на канал 👉@cod_academy
👍1
Функция sum()
Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции
Cинтакс функции
Параметры sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.
Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.
#python
Подписывайтесь на канал 👉@cod_academy
Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции
sum().Cинтакс функции
sum():
start)Параметры sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.
Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
Mодуль cmath
Функции в математическом модуле стандартной библиотеки Python обрабатывают числа с плавающей запятой. Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция polar():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
📌Функция phase():
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
📌Функция rect():
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
📌Функция sin():
Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.
#python
Подписывайтесь на канал 👉@cod_academy
Функции в математическом модуле стандартной библиотеки Python обрабатывают числа с плавающей запятой. Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция polar():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
📌Функция phase():
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
📌Функция rect():
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
📌Функция sin():
Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
Декораторы
Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции.
Многие библиотеки работают с использованием декораторов: Flask и aiogram хорошие тому примеры.
Мы показываем лишь простой пример, возможности куда шире. Позже покажем пример использования с упоминаемыми выше библиотеками.
#python
Подписывайтесь на канал 👉@cod_academy
Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции.
Многие библиотеки работают с использованием декораторов: Flask и aiogram хорошие тому примеры.
Мы показываем лишь простой пример, возможности куда шире. Позже покажем пример использования с упоминаемыми выше библиотеками.
#python
Подписывайтесь на канал 👉@cod_academy
👍2👌1
Как удалить элемент из словаря в python по ключу?
Вы можете использовать del <Список>["<Ключ>"]
# Вывод : {'The Mist': 13, '11/22/63': 17, 'The Green Mile': 14, 'Fairy Tale': 10, 'End of Watch': 18}
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете использовать 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}
#python
Подписывайтесь на канал 👉@cod_academy
🔥1
Распаковка последовательности при неизвестном числе элементов.
Для этого в Python есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции
#python
Подписывайтесь на канал 👉@cod_academy
Для этого в Python есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции
#python
Подписывайтесь на канал 👉@cod_academy
Методов списков list
Напоминаю, списки в Python – упорядоченные последовательности элементов различных типов данных. Списки можно изменять, например, добавлять новые элементы.
1. list.append(x) – добавляет элемент, переданный в качестве аргумента, в конец списка. Этот метод является самым простым и распространённым в коде.
2. list.insert(i, x) – вставляет элемент в переданную позицию. Первый аргумент означает индекс элемента, перед которым будет добавлено новое значения.
Таким образом,
3. list.extend(iterable) – расширяет список, добавляя все элементы другой коллекции.
#python
Подписывайтесь на канал 👉@cod_academy
Напоминаю, списки в 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) – расширяет список, добавляя все элементы другой коллекции.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Методы list в Python
Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.
1.
2.
3.
4.
#python
Подписывайтесь на канал 👉@cod_academy
Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.
1.
append() - добавляет элемент в конец списка.2.
clear() - удаляет все элементы из списка3.
copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.4.
count() - считает, сколько раз в списке встречается переданный аргумент. #python
Подписывайтесь на канал 👉@cod_academy
👍2
Как читать бинарные файлы на python?
Вы можете читать бинарные файлы с помощью режима чтения "rb"
Как читать большие файлы в python?
Самый простой метод чтения больших файлов - чтение построчно. При таком методе оперативная память не забивается.
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете читать бинарные файлы с помощью режима чтения "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) #python
Подписывайтесь на канал 👉@cod_academy
👍2
Функции map(), filter() и reduce() используют, чтобы привнести в Python немного функционального программирования.
Все три из них являются удобными функциями, которые можно заменить на списки или циклы. Но они
обеспечивают более элегантный и краткий подход к некоторым задачам.
1.
2.
3.
Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).
#python
Подписывайтесь на канал 👉@cod_academy
Все три из них являются удобными функциями, которые можно заменить на списки или циклы. Но они
обеспечивают более элегантный и краткий подход к некоторым задачам.
1.
map() - функция map перебираeт все элементы в данном итеративном объекте и выполняeт функцию, которую мы передали в качестве аргумента для каждого из них.2.
filter() - Подобно map(), filter() принимает объект функции и итерацию и создает новый список. Как следует из названия, filter() формирует новый список, содержащий только элементы, удовлетворяющие определенному условию.3.
reduce() - reduce работает иначе, чем map() и filter(). Он не возвращает новый список, основанный на функции и итерации, которые мы передали.Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Как правильно создавать классы в python?
Вы можете придерживаться синтаксиса
(Конструктор класса не всегда обязателен)
Создание класса вы можете увидеть на примере :
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете придерживаться синтаксиса
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)#python
Подписывайтесь на канал 👉@cod_academy
👍1
Как скачать видео с youtube с помощью python?
Вы можете использовать библиотеку pytube для скачки видео с youtube
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете использовать библиотеку 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)#python
Подписывайтесь на канал 👉@cod_academy
👍2
Как удалить каждый второй элемент списка в python?
Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array[::2])
# Вывод : [1, 3, 5, 7, 9]#python
Подписывайтесь на канал 👉@cod_academy
👍2