ТОП-5 мобильных приложений для изучения Python
Если срочно потребовалось — или просто захотелось — изучить, закрепить новую тему, а ноутбука под рукой нет, выход — мобильные приложения для изучения Python. В статье собрали пять вариантов: простых, удобных и условно бесплатных:
• SoloLearn;
• Enki;
• Mimo;
• DataCamp;
• Coursera.
Описанные плюсы и минусы — собственный опыт и отзывы на App Store.
Подробнее👇
#статьи
@python_practics
Если срочно потребовалось — или просто захотелось — изучить, закрепить новую тему, а ноутбука под рукой нет, выход — мобильные приложения для изучения Python. В статье собрали пять вариантов: простых, удобных и условно бесплатных:
• SoloLearn;
• Enki;
• Mimo;
• DataCamp;
• Coursera.
Описанные плюсы и минусы — собственный опыт и отзывы на App Store.
Подробнее👇
#статьи
@python_practics
👍18❤2👎1
Внимание! - Вопрос!
Как получить из генератора список?
Передать его в конструктор списка: list(x for x in some_seq). Важно, что после этого по генератору уже нельзя будет итерироваться.
#вопросы_из_собеседований
@python_practics
Как получить из генератора список?
@python_practics
🔥10👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle
@python_practics
from turtle import *#sandbox
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()
@python_practics
👍6🥰4🤮2🔥1
Можно ли импортировать модуль, который не написан на языке python?
Anonymous Quiz
55%
Да, можно
32%
Возможно, но только на некоторых языках
13%
Нет, категорически нельзя
🔥11🤯10❤🔥1😱1
Найти самый частый элемент
Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.
Используются продвинутые параметры встроенной функции
• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию
• после этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
#полезные_сниппеты
@python_practics
Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.
Используются продвинутые параметры встроенной функции
max():• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию
count, подсчитывающую, сколько раз элемент встречается в списке;• после этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
#полезные_сниппеты
@python_practics
👍18🤔2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle
@python_practics
import turtle#sandbox
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()
@python_practics
🥱8👍6💩5
Задача:
У вас есть массив чисел. Вам нужно отсортировать нечетные числа в порядке возрастания, оставив четные числа на исходных позициях.
Пример:
@python_practics
У вас есть массив чисел. Вам нужно отсортировать нечетные числа в порядке возрастания, оставив четные числа на исходных позициях.
Пример:
[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
👍17🥱1
FastAPI
FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью, что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.
Ключевые особенности FastAPI:
• очень высокая производительность, наравне с NodeJS и Go;
• встроенная документация на основе Swagger;
• использование веб-сокетов;
• лёгкая интеграция с базами данных;
• основан на стандартах OpenAPI и полностью совместим с ними.
Подробнее👇
#фреймворки_библиотеки
@python_practics
FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью, что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.
Ключевые особенности FastAPI:
• очень высокая производительность, наравне с NodeJS и Go;
• встроенная документация на основе Swagger;
• использование веб-сокетов;
• лёгкая интеграция с базами данных;
• основан на стандартах OpenAPI и полностью совместим с ними.
Подробнее👇
#фреймворки_библиотеки
@python_practics
👍9❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle
@python_practics
from turtle import Screen, Pen#sandbox
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()
@python_practics
🥱11👍8💩4
Проблемы современных конструкторов чат-ботов
Конструкторы стали популярными инструментами для создания чат-ботов. Но работа с ними зачастую полна проблем. В этой статье мы рассмотрим некоторые из них:
• необходимость программировать;
• ограниченные возможности интеграции;
• низкая точность распознавания речи;
• обучение;
• безопасность.
Подробнее👇
#статьи
@python_practics
Конструкторы стали популярными инструментами для создания чат-ботов. Но работа с ними зачастую полна проблем. В этой статье мы рассмотрим некоторые из них:
• необходимость программировать;
• ограниченные возможности интеграции;
• низкая точность распознавания речи;
• обучение;
• безопасность.
Подробнее👇
#статьи
@python_practics
👍7
Python Concurrency with asyncio by Matthew Fowler
Эта книга знакомит с асинхронным, параллельным и многопоточным программированием на практических примерах Python. Трудные для понимания темы параллелизма разбиты на простые блок-схемы, позволяющие легко увидеть, как выполняются ваши задачи. Вы узнаете, как преодолеть ограничения Python с помощью asyncio для ускорения медленных веб-серверов и микросервисов. Вы даже сможете комбинировать asyncio с традиционными методами многопроцессорной обработки для огромного повышения производительности.
Книга в формате pdf👇
#курсы_книги
@python_practics
Эта книга знакомит с асинхронным, параллельным и многопоточным программированием на практических примерах Python. Трудные для понимания темы параллелизма разбиты на простые блок-схемы, позволяющие легко увидеть, как выполняются ваши задачи. Вы узнаете, как преодолеть ограничения Python с помощью asyncio для ускорения медленных веб-серверов и микросервисов. Вы даже сможете комбинировать asyncio с традиционными методами многопроцессорной обработки для огромного повышения производительности.
Книга в формате pdf👇
#курсы_книги
@python_practics
👍9❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем красивую анимацию на модуле turtle
@python_practics
import random#sandbox
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()
@python_practics
🥱8👎4🔥3💩2❤1👍1
Как защитить свой Python-код
Безопасностью кода студентов озадачивают нечасто. Нас знакомят с некоторыми устоявшимися приемами, вроде применения виртуального окружения, но в систему это складывается только во время работы.
Чтобы ускорить процесс и избавить вас от возможных проблем на старте, автор статьи собрал топ способов сделать код защищеннее от двух видов воздействия: злонамеренного (например, использование уязвимостей сайта хакерами) и непреднамеренного (ошибки разработчика, приводящей к падению прода).
Подробнее👇
#статьи
@python_practics
Безопасностью кода студентов озадачивают нечасто. Нас знакомят с некоторыми устоявшимися приемами, вроде применения виртуального окружения, но в систему это складывается только во время работы.
Чтобы ускорить процесс и избавить вас от возможных проблем на старте, автор статьи собрал топ способов сделать код защищеннее от двух видов воздействия: злонамеренного (например, использование уязвимостей сайта хакерами) и непреднамеренного (ошибки разработчика, приводящей к падению прода).
Подробнее👇
#статьи
@python_practics
👍11
Внимание! - Вопрос!
Что такое подгенератор?
В Python 3 существуют так называемые подгенераторы (subgenerators). Если в функции-генераторе встречается пара ключевых слов yield from, после которых следует объект-генератор, то данный генератор делегирует доступ к подгенератору, пока он не завершится (не закончатся его значения), после чего продолжает своё исполнение.
На самом деле yield является выражением. Оно может принимать значения, которые отправляются в генератор. Если в генератор не отправляются значения, результат данного выражения равен None.
yield from также является выражением. Его результатом является то значение, которое подгенератор возвращает в исключении StopIteration (для этого значение возвращается при помощи ключевого слова return).
#вопросы_из_собеседований
Что такое подгенератор?
На самом деле yield является выражением. Оно может принимать значения, которые отправляются в генератор. Если в генератор не отправляются значения, результат данного выражения равен None.
yield from также является выражением. Его результатом является то значение, которое подгенератор возвращает в исключении StopIteration (для этого значение возвращается при помощи ключевого слова return).
👍17❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем интересную анимацию на модуле turtle
@python_practics
import turtle#sandbox
tina = turtle.Turtle()
tina.shape('turtle')
tina.penup()
tina.goto(30,-150)
tina.pendown()
tina.circle(130)
tina.penup()
tina.goto(0,0)
tina.pendown()
tina.circle(20)
tina.circle(10)
tina.penup()
tina.forward(60)
tina.right(45)
tina.pendown()
tina.circle(30)
tina.circle(10)
tina.penup()
tina.right(90)
tina.forward(90)
tina.pendown()
tina.circle(40)
tina.penup()
tina.goto(25,-25)
@python_practics
👍19💩5👎3❤1🔥1🥱1