🧠 Как копировать объекты в Python правильно?
📌 Статья объясняет разницу между поверхностным и глубоким копированием объектов в Python.
🔍 Основные моменты:
•
• Поверхностное копирование
• Глубокое копирование
• Для пользовательских классов можно определить методы
https://realpython.com/python-copy/
#python
👉 @python_real
📌 Статья объясняет разницу между поверхностным и глубоким копированием объектов в Python.
🔍 Основные моменты:
•
= не копирует объект, а лишь создаёт новую ссылку на него.• Поверхностное копирование
(copy.copy()) создаёт новый объект, но вложенные объекты остаются общими.• Глубокое копирование
(copy.deepcopy()) рекурсивно копирует все вложенные объекты, обеспечивая полную независимость.• Для пользовательских классов можно определить методы
_copy_() и _deepcopy_() для контроля процесса копирования. https://realpython.com/python-copy/
#python
👉 @python_real
👍4
🔹 Что такое пространства имён в Python?
В Python пространство имён — это система, которая обеспечивает уникальные имена для всех объектов, таких как переменные и функции. Простыми словами, это своего рода словарь, в котором имена являются ключами, а объекты — значениями.
Существует несколько типов пространств имён:
- Локальные: существуют внутри функции.
- Глобальные: существуют на уровне модуля.
- Встроенные: предоставляются Python по умолчанию (например,
Python управляет этими пространствами имён с помощью LEGB-правила:
- Local — локальное пространство имён.
- Enclosing — пространство имён замыкающей функции.
- Global — глобальное пространство имён.
- Built-in — встроенное пространство имён.
Когда интерпретатор встречает имя, он ищет его именно в таком порядке.
Понимание пространств имён помогает избежать неожиданных ошибок и писать более чистый код!
https://realpython.com/python-namespace/
#python
👉 @python_real
В Python пространство имён — это система, которая обеспечивает уникальные имена для всех объектов, таких как переменные и функции. Простыми словами, это своего рода словарь, в котором имена являются ключами, а объекты — значениями.
Существует несколько типов пространств имён:
- Локальные: существуют внутри функции.
- Глобальные: существуют на уровне модуля.
- Встроенные: предоставляются Python по умолчанию (например,
len() и print()).Python управляет этими пространствами имён с помощью LEGB-правила:
- Local — локальное пространство имён.
- Enclosing — пространство имён замыкающей функции.
- Global — глобальное пространство имён.
- Built-in — встроенное пространство имён.
Когда интерпретатор встречает имя, он ищет его именно в таком порядке.
Понимание пространств имён помогает избежать неожиданных ошибок и писать более чистый код!
https://realpython.com/python-namespace/
#python
👉 @python_real
👍4