python_practics
الذهاب إلى القناة على Telegram
Python - обучающие материалы, полезные советы и статьи. Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/python_practics
إظهار المزيد5 282
المشتركون
-324 ساعات
-307 أيام
-2030 أيام
أرشيف المشاركات
5 282
Внимание! - Вопрос!
Что такое подгенератор?
В Python 3 существуют так называемые подгенераторы (subgenerators). Если в функции-генераторе встречается пара ключевых слов yield from, после которых следует объект-генератор, то данный генератор делегирует доступ к подгенератору, пока он не завершится (не закончатся его значения), после чего продолжает своё исполнение.
На самом деле yield является выражением. Оно может принимать значения, которые отправляются в генератор. Если в генератор не отправляются значения, результат данного выражения равен None.
yield from также является выражением. Его результатом является то значение, которое подгенератор возвращает в исключении StopIteration (для этого значение возвращается при помощи ключевого слова return).
#вопросы_из_собеседований
5 282
Как защитить свой Python-код
Безопасностью кода студентов озадачивают нечасто. Нас знакомят с некоторыми устоявшимися приемами, вроде применения виртуального окружения, но в систему это складывается только во время работы.
Чтобы ускорить процесс и избавить вас от возможных проблем на старте, автор статьи собрал топ способов сделать код защищеннее от двух видов воздействия: злонамеренного (например, использование уязвимостей сайта хакерами) и непреднамеренного (ошибки разработчика, приводящей к падению прода).
Подробнее👇
#статьи
@python_practics
5 282
Создаем красивую анимацию на модуле turtle
import random
from turtle import Turtle, Screen
tim = Turtle()
tim.shape("classic")
def turtle_color():
R = random.random()
G = random.random()
B = random.random()
return tim.pencolor(R, G, B)
tim.speed("fastest")
for _ in range(72):
turtle_color()
tim.circle(100)
tim.left(5)
screen = Screen()
screen.exitonclick()
#sandbox
@python_practics5 282
Python Concurrency with asyncio by Matthew Fowler
Эта книга знакомит с асинхронным, параллельным и многопоточным программированием на практических примерах Python. Трудные для понимания темы параллелизма разбиты на простые блок-схемы, позволяющие легко увидеть, как выполняются ваши задачи. Вы узнаете, как преодолеть ограничения Python с помощью asyncio для ускорения медленных веб-серверов и микросервисов. Вы даже сможете комбинировать asyncio с традиционными методами многопроцессорной обработки для огромного повышения производительности.
Книга в формате pdf👇
#курсы_книги
@python_practics
5 282
Проблемы современных конструкторов чат-ботов
Конструкторы стали популярными инструментами для создания чат-ботов. Но работа с ними зачастую полна проблем. В этой статье мы рассмотрим некоторые из них:
• необходимость программировать;
• ограниченные возможности интеграции;
• низкая точность распознавания речи;
• обучение;
• безопасность.
Подробнее👇
#статьи
@python_practics
5 282
Создаем красивую анимацию на модуле turtle
from turtle import Screen, Pen
import colorsys
screen = Screen()
screen.title("Rainbow Spiral")
pen = Pen()
pen.speed('fastest')
hue = 0.0 # range is 0.0 to 1.0
for i in range(200):
color = colorsys.hsv_to_rgb(hue, 1, 1) # pen wants RGB
pen.pencolor(color)
pen.forward(i * 2) # double size
pen.right(121) # 120 degrees is an equilateral triangle
hue += 0.005 # increment by 1/200
pen.hideturtle()
screen.exitonclick()
#sandbox
@python_practics5 282
FastAPI
FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью, что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.
Ключевые особенности FastAPI:
• очень высокая производительность, наравне с NodeJS и Go;
• встроенная документация на основе Swagger;
• использование веб-сокетов;
• лёгкая интеграция с базами данных;
• основан на стандартах OpenAPI и полностью совместим с ними.
Подробнее👇
#фреймворки_библиотеки
@python_practics
5 282
Задача:
У вас есть массив чисел. Вам нужно отсортировать нечетные числа в порядке возрастания, оставив четные числа на исходных позициях.
Пример:
[7, 1] => [1, 7] [5, 8, 6, 3, 4] => [3, 8, 6, 5, 4] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] => [1, 8, 3, 6, 5, 4, 7, 2, 9, 0]#задачник @python_practics
5 282
Создаем красивую анимацию на модуле turtle
import turtle
Alfred = turtle.Turtle()
Alfred.color("blue")
Alfred.penup()
Alfred.goto(-75,-75)
Alfred.pendown()
#Picking up speed
for i in range(50):
Alfred.speed(i+1)
Alfred.forward(150)
Alfred.left(85)
Alfred.penup()
Alfred.goto(-25,-25)
Alfred.pendown()
Alfred.setheading(0)
#Slowing down
for i in range(30):
Alfred.speed(30-i)
Alfred.forward(50)
Alfred.left(85)
turtle.exitonclick()
#sandbox
@python_practics5 282
Найти самый частый элемент
Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.
Используются продвинутые параметры встроенной функции
max():
• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке;
• после этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
#полезные_сниппеты
@python_practics5 282
Можно ли импортировать модуль, который не написан на языке python?
5 282
Создаем красивую анимацию на модуле turtle
from turtle import *
speed(0)
pencolor('white')
bgcolor('black')
x = 0
up()
rt(45)
fd(90)
rt(135)
down()
while x < 120:
fd(200)
rt(61)
fd(200)
rt(61)
fd(200)
rt(61)
fd(200)
rt(61)
fd(200)
rt(61)
fd(200)
rt(61)
rt(11.1111)
x = x+1
exitonclick()
#sandbox
@python_practics5 282
Внимание! - Вопрос!
Как получить из генератора список?
Передать его в конструктор списка: list(x for x in some_seq). Важно, что после этого по генератору уже нельзя будет итерироваться.
#вопросы_из_собеседований
@python_practics
5 282
ТОП-5 мобильных приложений для изучения Python
Если срочно потребовалось — или просто захотелось — изучить, закрепить новую тему, а ноутбука под рукой нет, выход — мобильные приложения для изучения Python. В статье собрали пять вариантов: простых, удобных и условно бесплатных:
• SoloLearn;
• Enki;
• Mimo;
• DataCamp;
• Coursera.
Описанные плюсы и минусы — собственный опыт и отзывы на App Store.
Подробнее👇
#статьи
@python_practics
5 282
Создаем красивую анимацию на модуле turtle
import turtle
def star(turtle, n,r):
for k in range(0,n):
turtle.pendown()
turtle.forward(r)
turtle.penup()
turtle.backward(r)
turtle.left(360/n)
def recursive_star(turtle, n, r, depth, f):
if depth == 0:
star(turtle, n, f*4)
else:
for k in range(0,n):
turtle.pendown()
turtle.forward(r)
recursive_star(turtle, n, f*r, depth - 1,f)
turtle.penup()
turtle.backward(r)
turtle.left(360/n)
turtle.speed("fastest")
recursive_star(turtle, 5 , 150, 4, 0.4)
#sandbox
@python_practics
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
