python_practics
Open in Telegram
Python - обучающие материалы, полезные советы и статьи. Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/python_practics
Show more5 162
Subscribers
No data24 hours
-67 days
-3630 days
Posts Archive
5 162
Python. К вершинам мастерства. Второе издание
Не тратьте зря времени, пытаясь подогнать Python под способы программирования, знакомые вам по другим языкам. Python настолько прост, что вы очень быстро освоите его в общих чертах, но для создания эффективных современных программ требуются более глубокие знания.
Второе издание книги позволит вам использовать возможности Python 3 в полной мере, обратив себе на пользу лучшие идеи. Автор рассказывает о базовых средствах языка, о его библиотеках и учит писать более краткий, быстрый и удобочитаемый код. Вы узнаете о том, как применять идиоматические средства Python 3, выходящие за рамки вашего предыдущего опыта.
Книга в формате pdf👇
#курсы_книги
@python_practics
5 162
Области видимости в Python
Область видимости (scope) — это та часть кода, где переменная доступна, открыта и видима.
Если бы не подсказки IDE, неизвестно, сколько бы длилась отладка соответствующих участков кода у среднего питониста. Так что если вы стремитесь расширить спектр навыков, время выйти за привычные представления о двух областях и освоить все четыре.
1. + 2. Локальная (Local) и глобальная (Global)
global = "Глобальная переменная"
def func():
local = "Локальная переменная"
print(local)
print(global)
func()... Глобальная переменная... Локальная переменная
3. Охватывающая (Enclosing)
def func1():
enclosing = "Первый уровень"
print(enclosing)
def func2():
nonlocal enclosing
enclosing = "Второй уровень"
func2()
print(name)
func1()
... Первый уровень
... Второй уровень
4. Встроенная (Built-in)
Скрипт.py
print("File1 __name__ = %s" %__name__)
... Скрипт
Подробнее👇
#статьи5 162
Создаем красивую анимацию на модуле turtle
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
#sandbox
@python_practics5 162
Flask
У фреймворка Flask небольшой размер исходной кодовой базы, поэтому его называют микрофреймворком. По умолчанию он включает в себя только обработчик запросов и шаблонизатор, а простейшее приложение на Flask может состоять всего из нескольких строк.
Тем не менее с помощью Flask можно реализовать практически любую задачу: от простого одностраничного сайта до серьёзного проекта с авторизацией, аутентификацией и другими возможностями. Flask подходит для задач, которые подразумевают гибкость в выборе компонентов. Разработчик сам принимает решение, что ему пригодится в работе.
Ключевые особенности Flask:
• встроенный сервер разработки и отладчик;
• диспетчеризация запросов в RESTful-стиле;
• встроенная поддержка модульного тестирования;
• использование шаблонизатора Jinja2;
• 100%-ная совместимость с WSGI 1.0;
• множество расширений, предоставляемых сообществом.
Про этот и другие фреймворки вы можете прочитать по ссылке ниже👇
#фреймворки_библиотеки
5 162
Создайте функцию, которая отвечает на вопрос «Вы играете на банджо?».
Если ваше имя начинается с буквы «R» или строчной «r», вы играете на банджо!
Функция принимает имя в качестве единственного аргумента и возвращает одну из следующих строк:
name + " plays banjo"
name + " does not play banjo"
#задачник
@python_practics5 162
Создаем красивую анимацию на модуле turtle
import turtle
win = turtle.Screen()
win.bgcolor('black')
color = ['red', 'blue', 'yellow', 'green', 'lightblue', 'orange','lightgreen']
tort = turtle.Turtle()
for itr in range(360):
tort.color(color[itr%7])
tort.forward(itr)
tort.left(62)
#sandbox5 162
Транспонировать матрицу
В простейшем случае двумерная матрица может быть задана списком из нескольких списков одинаковой длины, которые представляют собой строки матрицы. Если вам требуется «повернуть на 90 градусов» такую матрицу или превратить строки в столбцы (транспонировать, как говорят математики), то вот короткий код.
Обратите внимание, что в итоговом списке элементами (то есть строками новой матрицы) будут кортежи — так работает используемая здесь функция
zip().
#полезные_сниппеты
@python_practics5 162
Создаем красивую анимацию на модуле turtle
from turtle import
colors = ['orange', 'red', 'pink', 'yellow', 'blue', 'green']
for x in range(360):
pencolor(colors[x % 6])
width(x / 5 + 1)
forward(x)
left(20)
#sandbox5 162
Внимание! - Вопрос!
Что делает
yield?
yield замораживает состояние функции-генератора и возвращает текущее значение. После следующего вызова __next__() функция-генератор продолжает своё выполнение с того места, где она была приостановлена.
#вопросы_из_собеседований
@python_practics5 162
Создаем красивое деревце на модуле turtle
import turtle as tu
import random # import random module
my_turtle = tu.Turtle()
my_turtle.screen.bgcolor('red')
my_turtle.left(90)
my_turtle.speed(20)
my_turtle.color('green')
my_turtle.pensize(5)
my_turtle.screen.title("My Fractal Tree")
def draw_fractal(blen):
# add these two lines
sfcolor = ["white", "blue", "purple", "grey", "magenta"]
my_turtle.color(random.choice(sfcolor))
if(blen<10):
return
else:
my_turtle.forward(blen)
my_turtle.left(30)
draw_fractal(3*blen/4)
my_turtle.right(60)
draw_fractal(3*blen/4)
my_turtle.left(30)
my_turtle.backward(blen)
draw_fractal(80)
my_turtle = tu.done()
#sandbox
@python_practics5 162
Алгоритмы Data Science и их практическая реализация на Python
Рассмотрен полный каскад разработки моделей искусственного интеллекта. Проанализирована область Data Science, из которой выделены все необходимые для прикладной сферы алгоритмы машинного обучения, расположенные по уровню возрастания сложности работы с ними.
Для студентов, изучающих информационные технологии. Может быть полезно как начинающим программистам, так и специалистам высокого уровня.
Книга в формате pdf👇
#курсы_книги
@python_practics
5 162
10 фишек Python, которые поднимут ваш скилл на новый уровень. Часть 2
В данной статье автор продолжает делиться некоторыми полезными функциями, которые помогут вам улучшить ваш код.
Форматирование многострочного вывода
name1 = 'Владимир'
name2 = 'Илья'
print(f'{name1:10}: тимлид')
print(f'{name2:10}: фулстэк-разработчик')
Частичное совпадение пользовательского ввода
def do_this():
print('Пойди туда -- не знаю куда')
def do_that():
print('Принеси то - не знаю что')
match input('Что сделать? '):
case 'пойди':
do_this()
case 'принеси':
do_that()
case _:
print('Неверный ввод. Попробуйте еще раз.')
... Что сделать? пойди
... Пойди туда -- не знаю куда
[Повторный запуск программы]
Что сделать? поспи
... Неверный ввод. Попробуйте еще раз.
Словарное включение
names = [
'Daniel',
'Mike',
'William'
newNames = [x for x in names if "a" in x] # Выберет имена, где есть “а”
Продолжение👇
#статьи5 162
Создаем красивую анимацию на модуле turtle
turtle import Turtle, Screen
def draw_square(some_turtle):
for _ in range(4):
some_turtle.forward(200)
some_turtle.right(90)
def draw_art():
# Turtle Brad
brad = Turtle(shape="turtle")
brad.color("yellow")
brad.pensize(2)
brad.speed("normal") # 6/normal is the default so don't need to do it
for _ in range(36):
draw_square(brad)
brad.right(10)
# Turtle Angie
angie = Turtle(shape="turtle")
angie.color("blue")
angie.pensize(2)
angie.speed(5) # slightly slower than brad
size = 1
for _ in range(300):
angie.forward(size)
angie.right(91)
size += 1
window = Screen()
window.bgcolor("black")
draw_art()
window.exitonclick()
#sandbox
@python_practics