Библиотека Python разработчика | Книги по питону
19.5K subscribers
1.05K photos
392 videos
82 files
988 links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
When you use a variable in Python, it's first looked up in the current scope. If no such variable is found, the next enclosing scope is searched. That is repeated until the global namespace is reached.

x = 1
def scope():
x = 2
def inner_scope():
print(x) # prints 2
inner_scope()
scope()

However, the variable assignment doesn't work the same way. The new variable is always created in the current scope unless global or nonlocal is specified:

x = 1
def scope():
x = 2
def inner_scope():
x = 3
print(x) # prints 3
inner_scope()
print(x) # prints 2
scope()
print(x) # prints 1

global allows using variables of global namespaces while nonlocal searches for the variable in the nearest enclosing scope. Compare:

x = 1
def scope():
x = 2
def inner_scope():
global x
x = 3
print(x) # prints 3
inner_scope()
print(x) # prints 2
scope()
print(x) # prints 3


x = 1
def scope():
x = 2
def inner_scope():
nonlocal x
x = 3
print(x) # prints 3
inner_scope()
print(x) # prints 3
scope()
print(x) # prints 1

👉@BookPython
Ускорение роутера в Django в 51 раз

История началась с разбора использования ресурсов приложением, которое занимается проксированием. Обнаружили, что довольно много времени оно тратит на выбор маршрута (роута), и решили ускорить этот процесс. Описанная в статье оптимизация не требует каких-то особых вложений, усилий или условий, поэтому приведенный код можно забрать к себе и использовать без каких-либо чрезмерных вмешательств.

https://habr.com/ru/companies/tochka/articles/822431/

👉@BookPython
⌨️ Шпаргалка по Python

👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое дескрипторы?

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

Для создания дескриптора нужно определить класс, который реализует хотя бы один из трех вышеуказанных методов. Затем экземпляры этого класса могут быть присвоены атрибутам других классов.

👉@BookPython
Паттерн проектирования «Фасад»

Паттерн проектирования «Фасад» (Facade) используется для предоставления унифицированного интерфейса к группе интерфейсов подсистемы. Он позволяет скрыть сложность и детали взаимодействия между различными компонентами системы, предоставляя клиенту более простой и удобный способ взаимодействия.

👉@BookPython
Цикломатическая сложность

Цикломатическая сложность (Cyclomatic Complexity) — это метрика, используемая для оценки сложности кода на основе количества путей выполнения в программе. Эта метрика была предложена Томасом МакКейбом в 1976 году и обычно используется для определения того, насколько сложно будет тестирование и сопровождение данного кода.

Целью расчета цикломатической сложности является выявление потенциально сложных участков кода, которые могут быть трудными для понимания, тестирования и поддержки. Более высокая цифра цикломатической сложности обычно указывает на большую сложность кода.

👉@BookPython
Cтатический метод

В Python статический метод (staticmethod). Он не требует доступа к атрибутам и методам экземпляра, и может быть вызван независимо от создания экземпляра класса. Статические методы могут использоваться, например, для выполнения операций, которые связаны с классом в целом, но не требуют доступа к данным экземпляра.

Чтобы определить статический метод в классе, используется декоратор

👉@BookPython
Media is too big
VIEW IN TELEGRAM
Сыграем в "Жизнь"! Клеточный автомат на Python [ Pygame ]

В этом видео узнаете, как сделать игру на Python, под названием "Жизнь" ( Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970 году. Игру реализуем при помощи языка Python и библиотеки Pygame.

Код https://github.com/StanislavPetrovV/Python-Game-of-life

👉@BookPython