python_practics
Ir al canal en Telegram
Python - обучающие материалы, полезные советы и статьи. Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/python_practics
Mostrar más5 111
Suscriptores
+224 horas
-17 días
-3330 días
Archivo de publicaciones
5 111
Внимание! - Вопрос!
Что такое генераторная функция?
Генераторная функция - функция, в теле которой встречается ключевое слово yield. Будучи вызвана, такая функция возвращает объект-генератор (generator object) (итератор генератора (generator iterator)).
#вопросы_из_собеседований
5 111
10 фишек Python, которые поднимут ваш скилл на новый уровень. Часть 1
В данной статье автор поделился некоторыми полезными функциями, которые помогут вам улучшить ваш код.
Генераторы списков
squares = [x**2 for x in range(1, 11)]
Перечисления
for index, value in enumerate(my_list):
print(f"{index}: {value}")
Лямбда-функции
square = lambda x: x**2Множественное назначение
my_tuple = ("Алиса", 30) # Наш кортеж
name, age = my_tuple # Непосредственно распаковка
print(name) # Выведет 'Алиса'
Извлечение части списка
my_list[1:4] # returns the sublist from index 1 (inclusive) to 4 (exclusive)Включение
squares = {x: x**2 for x in range(1, 11)}
«Моржовый» оператор
n = 0
while (n := n + 1) < 10:
print(n)
F-строки
name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")
any() и all()
nums = [1, 3, 5, 7, 9] print(any(x % 2 == 0 for x in nums)) # False print(all(x % 2 != 0 for x in nums)) # TrueПодробнее👇 #статьи
5 111
Создаем красивую анимацию на модуле turtle
import turtle
import colorsys
t = turtle.Turtle()
s = turtle.Screen().bgcolor('black')
t.speed(0)
n = 70
h = 0
for i in range (360):
c = colorsys.hsv_to_rgb(h,1,0.8)
h+= 1/n
t.color(c)
t.left(1)
t.fd(1)
for j in range (2):
t.left(2)
t.circle(100)
#sandbox5 111
Understanding Network Hacks: Attack and Defense with Python 3 by Bastian Ballmann
В этой книге объясняется, как увидеть сеть глазами хакера, понять векторы атак и эффективно защититься от них. С помощью примеров кода на Python читатель научится разрабатывать инструменты по таким темам, как перехват паролей, отравление ARP, подмена DNS, внедрение SQL, сбор данных Google, пентест Bluetooth и Wifi. Кроме того, читатель познакомится с методами защиты, такими как системы обнаружения и предотвращения вторжений и анализ файлов журналов.
Книга в формате pdf👇
#курсы_книги
@python_practics
5 111
Создаем красивую анимацию на модуле turtle
import colorsys
import turtle
t = turtle.Turtle()
s = turtle.Screen()
s.bgcolor('black')
t.speed(0)
n= 36
h = 0
for i in range (460):
c = colorsys.hsv_to_rgb(h,1,0.8)
h+=1/n
t.color(c)
t.left(145)
for j in range (5):
t.forward(300)
t.left(150)
#sandbox5 111
Внимание! - Вопрос!
Что такое генератор?
В зависимости от контекста, может означать либо функцию-генератор, либо итератор генератора (чаще всего, последнее). Методы __iter__ и __next__ у генераторов создаются автоматически.
С точки зрения реализации, генератор в Python — это языковая конструкция, которую можно реализовать двумя способами: как функция с ключевым словом yield или как генераторное выражение. В результате вызова функции или вычисления выражения, получаем объект-генератор типа types.GeneratorType. Канонический пример - генератор, порождающий последовательность чисел Фибоначчи, которая, будучи бесконечна, не смогла бы поместиться ни в одну коллекцию. Иногда термин применяется для самой генераторной функции, а не только объекта, возвращенного ей в качестве результата.
#вопросы_из_собеседований
@python_practics
5 111
Библиотеки Python для профессионального анализа данных
Язык программирования Python часто используют аналитики данных. Для этого в нем существуют расширения — библиотеки, наборы готовых инструментов для более эффективной работы.
Вот список наиболее часто используемых:
1. Pandas: для подготовки данных
2. NumPy: для углублённых расчётов
3. SciPy: для математических операций
4. Matplotlib: для визуализации
5. Seaborn: для расширенной визуализации
6. Statsmodels: для статистического анализа
7. Plotly: для трёхмерной визуализации
8. Bokeh: для интерактивной визуализации в вебе
9. Scikit-learn: для машинного обучения
Подробнее о каждой из библиотек по ссылке ниже👇
#фреймворки_библиотеки
5 111
Ваша задача — создать функцию, которая выполняет четыре основные математические операции.
Функция должна принимать три аргумента - операция(строка/символ), значение1(число), значение2(число).
Функция должна возвращать числовой результат после применения выбранной операции.
Примеры:
('+', 4, 7) --> 11
('-', 15, 18) --> -3
('*', 5, 5) --> 25
('/', 49, 7) --> 7
#задачник
@python_practics5 111
Внимание! - Вопрос!
Что может являться ключом словаря? Что не может? Почему?
Ключом словаря может быть любой хешируемый неизменяемый объект: число, строка, datetime, функция и даже модуль. Такие объекты имеют метод __hash__(), который однозначно сопоставляет объект с некоторым числом. По этому числу словарь ищет значение для ключа.
Списки, словари и множества изменяемы и не имеют метода хеширования. При подстановке их в словарь возникнет ошибка.
Хеш кортежа вычисляется рекурсивно по всем элементам.
Так, кортеж
(1, (True, (42, ('hello', ))))
состоит только из неизменяемых элементов, поэтому может быть ключом.
Однако, такой кортеж
(1, (True, (42, ({'hello': 'world'}, )))) содержит глубоко внутри словарь, поэтому хеш не может быть рассчитан.
#вопросы_из_собеседований
@python_practics5 111
Топ самых полезных магических команд для завсегдатаев Colab
Если вы пользуетесь на повседневной основе средами вроде Google Colab или Jupyter Notebook, то наверняка хотя бы раз сталкивались с «магическими» командами. В статье автор не только перечисляет самые полезные из них, но и показывает, как они работают на примерах, а также дополняет фишечками.
%lsmagic - Чтобы не тратить драгоценный умственный ресурс, запомните всего одну директиву – вывести список всех команд.
%%time - Измеряет время выполнения ячейки.
%%capture - Cкрывает выходные данные ячейки.
%autoawait - Позволяет использовать параллельные процессы.
%debug - Активируeт интерактивный отладчик.
%pip - Множество сторонних библиотек подключается к проекту именно этой командой.
%precision - Указывает число знаков после запятой (decimal number) для числовых объектов.
%rerun - Перезапускает предыдущую ячейку.
%%html - Отрендерит ячейку как код HTML.
Подробнее👇
#статьи5 111
Упрощение создания операторов сравнения
Существует немало операторов сравнения. Например —
__lt__, __le__, __gt__, __ge__.
Можно ли как-то упростить этот процесс? Да — с помощь декоратора functools.total_ordering
#полезные_сниппеты
@python_practics5 111
Игра шарик
Давайте закодим что-нибудь интересное! Например, свою игру, где нужно не дать шарику упасть, типа Арканоида. Вы, скорее всего, играли в детстве во что-то подобное, поэтому освоиться будет просто.
#sandbox
@python_practics
5 111
GPT-Migrate — ИИ-инструмент для миграции с одного языка или фреймворка на другой
Как работает GPT-Migrate
Для переноса кода из
--sourcelang в --targetlang:
1. GPT-Migrate создает среду Docker для —targetlang, которая автоматически.
2. GPT-Migrate перестраивает новый —targetlang код из существующего кода, начиная с файла —sourceentry.
3. Инструмент запускает среду Docker с новой кодовой базой, которая отображается на —targetport, и по мере необходимости итеративно выполняет отладку.
4. ИИ разрабатывает модульные тесты с использованием фреймворка unittest в Python.
5. Тестирует новый код на —targetport с использованием этих модульных тестов.
6. Итеративно выполняет отладку кода для вас, используя контекст из журналов, сообщений об ошибках, соответствующих файлов и структуры каталогов.
Подробнее👇
#статьи