python_practics
5.28K subscribers
1.85K photos
205 videos
119 files
60 links
Python - обучающие материалы, полезные советы и статьи.

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/python_practics
Download Telegram
Внимание! - Вопрос!

Что такое сопрограмма?

Сопрограмма (англ. coroutine) — компонент программы, обобщающий понятие подпрограммы, который дополнительно поддерживает множество входных точек (а не одну, как подпрограмма) и остановку и продолжение выполнения с сохранением определённого положения. Расширенные возможности генераторов в Python (выражения yield и yield from, отправка значений в генераторы) используются для реализации сопрограмм. Сопрограммы полезны для реализации асинхронных неблокирующих операций и кооперативной многозадачности в одном потоке без использования функций обратного вызова (callback-функций) и написания асинхронного кода в синхронном стиле. Python 3.5 включает в себе поддержку сопрограмм на уровне языка. Для этого используются ключевые слова async и await.

#вопросы_из_собеседований

@python_practics
🔥10👍32
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle

   from turtle import *

drawing_area = Screen()
drawing_area.setup(width=750, height=500)

shape('square')
for i in range(75):
right(20 + i)
forward(1 + (i * 5))
right(40 + i)

done()

#sandbox

@python_practics
🥱134💩4👍1
Каким будет результат выполнения кода?
print( isinstance( 1 + 1j, complex))
Anonymous Quiz
50%
True
15%
False
13%
None
22%
Error
7
Преобразовать арабское число в римское

Преобразует число в обычной десятичной («арабской») записи в форму римского числа. Работает со значениями от 1 до 3999 включительно, возвращает строку (str).

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

#полезные_сниппеты

@python_practics
28👍10👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle

   import turtle

def draw_attractive_design1():
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
pen = turtle.Turtle()
pen.speed(10)
turtle.bgcolor("black")
pen.pensize(2)

for i in range(180):
pen.color(colors[i % 6])
pen.forward(200)
pen.right(61)
pen.forward(100)
pen.right(120)
pen.forward(100)
pen.right(61)
pen.forward(200)
pen.right(181)

pen.hideturtle()

draw_attractive_design1()

turtle.done()

#sandbox

@python_practics
💩8👍7🥱3👎1
Задача:

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

Пример:

   unique_in_order([1, 2, 2, 3, 3])   == [1, 2, 3]
unique_in_order((1, 2, 2, 3, 3)) == [1, 2, 3]

#задачник

@python_practics
👍9🥱3🌚2
Fastcore — недооцененная, но полезная библиотека Python

fastcore — это основа многих проектов fast.ai. Самое главное: fastcore расширяет Python, стремясь к устранению шаблонного кода и добавлению полезной функциональности для общих задач.

Чем интересна fastcore:

• ознакомление с идеями из других языков прямо в Python. Fastcore расширяет Python, чтобы включить в него паттерны из разных языков: Julia, Ruby и Haskell;

• новый набор прагматичных инструментов: fastcore включает в себя утилиты, позволяющие писать более лаконичный выразительный код и, возможно, решать новые задачи;

• изучение Python: fastcore расширяет Python, в этом процессе проявляются многие продвинутые понятия. Для мотивированных людей это прекрасный способ увидеть многое о внутренней работе языка.

Подробнее👇

#фреймворки_библиотеки

@python_practics
👍7🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle

   import turtle

def draw_attractive_design4():
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
pen = turtle.Turtle()
pen.speed(10)
turtle.bgcolor("black")
pen.pensize(2)

size = 20

for i in range(300):
pen.color(colors[i % 6])
pen.forward(size)
pen.left(59)
pen.forward(size)
pen.left(59)
pen.forward(size)
pen.left(59)
pen.forward(size)
pen.left(121)
size += 2

pen.hideturtle()


draw_attractive_design4()

turtle.done()

#sandbox

@python_practics
🥱12👍4🔥3👎2💩1
Кастомные эмодзи для Telegram

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

В этой статье автор рассказал, как из обычного шрифта, сделать уникальный набор эмозди и добавить его в телеграм.

Подробнее по ссылке👇

#статьи

@python_practics
👍7
😁161
Django 3.0. Практика создания веб-сайтов на Python

Книга посвящена созданию веб-сайтов на языке Python с использованием веб-фреймворка Django 3.0. Рассмотрены новинки Django 3.0 и дано наиболее полное описание его инструментов: моделей, контроллеров, шаблонов, средств обработки пользовательского ввода, включая выгруженные файлы, разграничения доступа, посредников, сигналов, инструментов для отправки электронной почты, кэширования и пр.

Книга в формате pdf👇

#курсы_книги

@python_practics
🔥9👍21
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle

   import turtle
turtle.tracer(1, 0)
for i in range(360):
turtle.forward(i)
turtle.left(59)
turtle.exitonclick()

#sandbox

@python_practics
👍9💩7🗿2🤬1
Способы «выстрелить себе в ногу» в Python

«Выстрелить себе в ногу» означает следующее: «Можно написать команду или конструкцию, которая сломает нормальное поведение программы или системы (или будет выполняться совершенно не так, как предполагалось), и при этом компилятор/интерпретатор это съест и не остановит исполнение кода». Иными словами, это возможность навредить себе необдуманными действиями.

Автор статьи разобрал шесть типичных ошибок новичков с примерами кода и нашёл решение каждой.

Подробнее по ссылке👇

#статьи
👍11
Внимание! - Вопрос!

Как получить список атрибутов объекта?

Функция dir возвращает список строк – полей объекта. Поле __dict__ содержит словарь вида {поле -> значение}.

#вопросы_из_собеседований

@python_practics
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle

   import turtle  
import colorsys
t = turtle.Turtle()
turtle.Screen().bgcolor("black")
t.speed(100)
n = 36
h = 0
for i in range(460):
c = colorsys.hsv_to_rgb(h,1,0.9)
h+=1/n
t.color(c)
t.left(145)
for i in range(5):
t.forward(300)
t.left(150)
turtle.done()

#sandbox

@python_practics
🥱7👍5💩4