'''
Пространство имен класса

- встроенное пространство имен builtins
- глобальное пространство имен global
- объемлющие пространство имен enclosing
- локальное пространство имен local

'''

class DepartmentIT:
    PYTHON_DEV = 4
    GO_DEV = 3
    REACT_DEV = 2
    language = 'python'

    def __init__(self, name=None):
        if name is not None:
            self.language = name
    
    def get_info(self):
        print(self.__class__.language)

    @staticmethod
    def make_backend():
        print('Python and go')

    @staticmethod
    def make_frontend():
        print('Python and go')

def test_1():
    it1 = DepartmentIT()
    print(DepartmentIT)
    print(it1)
    print(dir(DepartmentIT))

    # print(it1.__dict__)
    # print(it1.__dir__())

def test_2():
    it1 = DepartmentIT('Go')
    it2 = DepartmentIT('React')
    it3 = DepartmentIT('Rust')
    it1.get_info()
    it2.get_info()
    it3.get_info()

def main():
    # test_1()
    test_2()

if __name__ == '__main__':
    main()