Python академия
7.72K subscribers
2.33K photos
5 videos
268 links
Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
Download Telegram
Библиотека Flask

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подписывайтесь на канал 👉@pythonofff
👍5
Как правильно создавать классы в 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
Как скачать видео с 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
👍8
Как в Python удалить файл или папку


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

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

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

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

Подписывайтесь на канал 👉@pythonofff
👍2
Как удалить каждый второй элемент списка в python?

Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.

array = [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(array[::2])

# Вывод : [1, 3, 5, 7, 9]

Подписывайтесь на канал 👉@pythonofff
🔥2👍1
Как в Python используется оператор +

Прежде чем приступить к методам append() и extend(), давайте посмотрим, как происходит конкатенация (объединение) списков при помощи оператора +.

Допустим, у нас есть два списка, list1 и list2, которые мы хотим объединить (то есть склеить вместе два целых списка).

Если вы внимательно прочтете приведенный выше код, вы заметите следующие вещи:

• list1 + list2 не добавляет элементы из list2 в list1.
• Вместо этого создается новый список, содержащий элементы из list1 и list2.
• В результате сами списки list1 и list2 остаются в первозданном виде.

Есть методы с использованием append() и extend().

Подписывайтесь на канал 👉@pythonofff
👍3
Блок else в циклах for и while

Цикл while используется для выполнения условия до тех пор, пока оно не будет оценено как истинное.

Цикл for используется для повторения определенных строк кода в программе. Предположим, вы хотите напечатать числа до 10, вы можете сделать это, набрав 10 операторов печати или используя цикл for. Цикл for повторяет часть программы на основе последовательности.

В Python циклы for и while могут содержать блок else, который выполнится, только если цикл завершится без применения break.

Рассмотрим это на примере функции, ищущей иголку (needle) в стоге сена (haystack).

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

Вы можете использовать shutil.rmtree() метод, чтобы удалить директорию со всеми файлами в ней на Python, посмотрите небольшой код ниже:

import shutil

path = "/tmp/test_folder"

# Удалить папку и все файлы в ней
shutil.rmtree(path)

Подписывайтесь на канал 👉@pythonofff
👍2
Ускоряем код при помощи векторизации?

Лучшее решение — векторизация вычислений. Простыми словами: использование функций, которые поддерживают операцию над векторами.

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

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

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