DEV Community

Cover image for Простір імен

Простір імен

Простір імен - Namespace

Це спосіб уникнути хаосу в програмі. Уявіть, що усі змінні в програмі лежать в одній купі, Знайти потрібну і зрозуміти, що вона робить, буде дуже важко. Простори імен дозволяють розділити змінні на групи, що полегшує їх використання та розуміння коду.

Ключові моменти, які варто запам'ятати:

  • Простір імен - це контейнер для імен.
  • Кожен простір імен - це окрема область.
  • Простори імен запобігають конфліктам між іменами.
  • Приклади просторів імен: вбудовані функції, глобальні змінні, локальні змінні функцій, атрибути об'єктів.

Top comments (2)

Collapse
 
gr555 profile image
Григорій Лізанець • Edited

У цьому пості я коротко описав свою помилку, яку допустив при виконанні однієї з перших своїх домашніх робіт. Справа в тому, що я створив список і назвав його list, що є не зовсім правильно в кодуванні на Python. Так як це ім'я є ім'ям вбудованої функції list(), і задаючи те саме їм'я змінній ми створюємо лише посилання на той об'єкт, в даному випадку на об'єкт list().

Collapse
 
gr555 profile image
Григорій Лізанець • Edited

Приклад в Python:

# module1
def greet(name):
    print('Hello,', name)

# module2
def greet(name, language):
    if language == 'french'
    print(f'Bonjour, {name}!')


# Головний файл
import module1
import module2

module1.greet('Michael') # Виведе 'Hello, Michael
module2.greet('Michael', 'french') # Виведе 'Bonjour, Michael!
Enter fullscreen mode Exit fullscreen mode

У цьому прикладі ми маємо дві функції з однаковим іменем greet, але вони знаходяться в різних модулях (просторах імен). Завдяки цьому ми можемо викликати будь-яку з них, вказавши, з якого модуля.