Простір імен - Namespace
Це спосіб уникнути хаосу в програмі. Уявіть, що усі змінні в програмі лежать в одній купі, Знайти потрібну і зрозуміти, що вона робить, буде дуже важко. Простори імен дозволяють розділити змінні на групи, що полегшує їх використання та розуміння коду.
Ключові моменти, які варто запам'ятати:
- Простір імен - це контейнер для імен.
- Кожен простір імен - це окрема область.
- Простори імен запобігають конфліктам між іменами.
- Приклади просторів імен: вбудовані функції, глобальні змінні, локальні змінні функцій, атрибути об'єктів.
Top comments (3)
Приклад в Python:
У цьому прикладі ми маємо дві функції з однаковим іменем
greet, але вони знаходяться в різних модулях (просторах імен). Завдяки цьому ми можемо викликати будь-яку з них, вказавши, з якого модуля.Приклад простору імен з різними типами імен в одному модулі.
Розглянемо простий приклад на Python, де в одному модулі ми зберемо різні типи імен, щоби краще розуміти концепцію простору імен.
global_variableдоступна з будь-якої точки модуля.MyClassвизначає новий тип об'єкта.class_attributeналежить до класу і доступний для всіх екземплярів цього класу.self.nameдоступна тільки всередині методу__init__і пов'язана з конкретним екземпляром класу.inner_functionвизначена всередині методу__init__і має свою локальну область видимості.yдоступна тільки всередині функції 'my_function'.len()- це стандартна функція Python для визначення довжини об'єкта.У цьому пості я коротко описав свою помилку, яку допустив при виконанні однієї з перших своїх домашніх робіт. Справа в тому, що я створив список і назвав його
list, що є не зовсім правильно в кодуванні на Python. Так як це ім'я є ім'ям вбудованої функціїlist(), і задаючи те саме їм'я змінній ми створюємо лише посилання на той об'єкт, в даному випадку на об'єктlist().