Python академия
7.73K subscribers
2.32K photos
6 videos
269 links
Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
Download Telegram
Оператор морж в Python 3.8

Оператор морж (:=) в Python 3.8 позволяет присваивать значения переменным внутри выражений. Это означает, что вы можете присвоить значение переменной и использовать её в том же выражении. Например, вместо того, чтобы записывать значение в переменную, а затем использовать её, вы можете сделать это одновременно.

Пример использования оператора морж:

x = 5
if (n := len(str(x))) > 3:
print(f"Number {x} has more than 3 digits ({n})")


В этом примере переменной n присваивается значение длины строки x, и это значение сразу же используется в условии if. Таким образом, оператор морж позволяет делать код более компактным и читаемым.

Оператор морж также удобен при работе с циклами. Например, вы можете использовать его в цикле while для проверки условия и одновременного присваивания значения переменной.

Пример использования оператора морж в цикле:

while (n := random.randint(1, 10)) != 5:
print(n)


В этом примере переменной n присваивается случайное значение от 1 до 10, и цикл продолжается до тех пор, пока значение переменной не станет равным 5. Таким образом, оператор морж позволяет уменьшить количество строк кода и улучшить его читаемость.

Подписывайтесь на канал 👉@pythonofff
1👍6🔥3
Регулярные выражения

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

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

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

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

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

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

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

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

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

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

Подписывайтесь на канал 👉@pythonofff
4
Важные методы в Python, которые должен знать каждый python разработчик.

abs() - возвращает модуль переданного параметра.

all() - функция возвращает значение True, если все элементы в итерируемом объекте - истинны. В противном случае, она возвращает значение False.

any() - функция возвращает True, если какой-либо (любой) элемент в итерируемом объекте является истинным True. В противном случае, any() возвращает значение False.

ascii() - возвращает строку, содержащую печатное представление объекта, и экранирует символы, отличные от ASCII, в строке с помощью экранирования \ x, \ u или \ U.

bin() - функция преобразует целое число в двоичную строку с префиксом 0b.

Подписывайтесь на канал 👉@pythonofff
2👍2
Функция sum()

Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?

Это можно сделать с помощью стандартной функции sum().

Cинтакс функции sum():
start)

Параметры sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.

Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.

Подписывайтесь на канал 👉@pythonofff
2👍1
Mодуль cmath

Функции в математическом модуле стандартной библиотеки Python обрабатывают числа с плавающей запятой. Для комплексных чисел библиотека Python содержит модуль cmath.

📌Функция polar():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.

📌Функция phase():
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.

📌Функция rect():
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.

📌Функция sin():
Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.

Подписывайтесь на канал 👉@pythonofff
👍1
Как удалить элемент из словаря в 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
Распаковка последовательности при неизвестном числе элементов.

Для этого в Python есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции

Подписывайтесь на канал 👉@pythonofff
👍5
Удаление элемента по индексу в Python


Для удаления элемента из списка с помощью индекса в Python можно использовать метод pop() или ключевое слово del. Метод pop() удаляет элемент по указанному индексу и возвращает его значение. Например:

my_list = [1, 2, 3, 4, 5]
removed_element = my_list.pop(2)
print("Удаленный элемент:", removed_element)
print("Список после удаления элемента:", my_list)


В данном примере элемент с индексом 2 (третий элемент) будет удален из списка my_list, а его значение будет сохранено в переменной removed_element.

Также можно воспользоваться ключевым словом del для удаления элемента по индексу. Например:

my_list = [1, 2, 3, 4, 5]
del my_list[2]
print("Список после удаления элемента:", my_list)



В данном случае элемент с индексом 2 также будет удален из списка my_list, но в отличие от pop() метод del не возвращает значение удаленного элемента.

Использование метода pop() удобно, если требуется сохранить значение удаленного элемента, а ключевое слово del подходит, если значение элемента не требуется. Оба способа позволяют удалять элементы из списка по индексу в Python.


Подписывайтесь на канал 👉@pythonofff
👍4🎉2
Методов списков 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
Методы list в Python

Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.

1. append() - добавляет элемент в конец списка.

2. clear() - удаляет все элементы из списка

3. copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.

4. count() - считает, сколько раз в списке встречается переданный аргумент.

Подписывайтесь на канал 👉@pythonofff
👍4
Как читать бинарные файлы на 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
👍2
Функции map(), filter() и reduce() используют, чтобы привнести в Python немного функционального программирования.

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

1. map() - функция map перебираeт все элементы в данном итеративном объекте и выполняeт функцию, которую мы передали в качестве аргумента для каждого из них.

2. filter() - Подобно map(), filter() принимает объект функции и итерацию и создает новый список. Как следует из названия, filter() формирует новый список, содержащий только элементы, удовлетворяющие определенному условию.

3. reduce() - reduce работает иначе, чем map() и filter(). Он не возвращает новый список, основанный на функции и итерации, которые мы передали.
Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).

Подписывайтесь на канал 👉@pythonofff
👍3
Как правильно создавать классы в 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
👍4
Поиск индексов подстроки

Для того чтобы найти все индексы для подстроки в строке, мы можем создать пользовательскую функцию, которая будет итеративно проходить по строке и находить все вхождения подстроки. Например, мы можем создать функцию find_all_indexes(), которая будет принимать строку и подстроку в качестве аргументов и возвращать список всех индексов, по которым найдена подстрока.


def find_all_indexes(s, sub):
indexes = []
index = s.find(sub)
while index != -1:
indexes.append(index)
index = s.find(sub, index + 1)
return indexes

string = "hello world hello hello"
substring = "hello"
indexes = find_all_indexes(string, substring)
print(indexes) # выводит [0, 12, 18]



В приведенном примере мы создали функцию find_all_indexes(), которая ищет все вхождения подстроки «hello» в строке «hello world hello hello». Мы итеративно вызываем метод find() для поиска подстроки, начиная с последнего найденного индекса + 1. Когда метод find() возвращает -1, это означает, что больше вхождений не найдено, и мы завершаем выполнение функции, возвращая список всех найденных индексов.

Таким образом, мы можем легко находить все индексы для подстроки в строке, используя пользовательскую функцию и метод find(). Это удобный способ для более точного анализа текста и работы с подстроками в Python.


Подписывайтесь на канал 👉@pythonofff
👏5👍1
Как в Python удалить файл или папку


Для простого удаления файлов и папок используется стандартная библиотека os.

— Для удаления файлов используем функцию remove()

— Для удаления папки используем функцию rmdir()

— Для удаления папки и в ней содержимого используем shutil.rmtree()

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