ФорумПрограммированиеPython → Пустой объект

Пустой объект

  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 24 июля 2010 г. 3:59

    Нужно как-то хранить произвольный древовидный набор переменных.
    Например, конфиг какой-то.

    Не хочу словарь, хочу, как в JS:

    var conf = {}
    conf.a = 1
    conf.b = 2
    conf.c = {}
    conf.c.a = 3


    В Питоне что-то аналогичное:

    #!/usr/bin/python3

    class Empty:
    pass

    conf = Empty()
    conf.a = 1
    conf.b = 2
    conf.c = Empty()
    conf.c.a = 3
    print(conf.a, conf.b, conf.c.a)


    Таскать за собой самодельный Empty не охото.
    Есть в Питоне для этого что-нибудь? Типа пустой объект, как {} в JS?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 июля 2010 г. 4:07, спустя 7 минут 20 секунд

    Есть, но сейчас не могу вспомнить, приду с магаза - погуглю
    adw/0
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 24 июля 2010 г. 4:16, спустя 9 минут 1 секунду

    lambda:expando 

  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 24 июля 2010 г. 4:18, спустя 2 минуты 47 секунд

    Абырвалг, простите?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 июля 2010 г. 4:20, спустя 1 минуту 45 секунд

    посмотри модуль types, там много чего интересного
    adw/0
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 24 июля 2010 г. 4:22, спустя 1 минуту 49 секунд

    ну типа

    conf = lambda:expando
    conf.a = 1
    conf.b = 2
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 24 июля 2010 г. 4:24, спустя 1 минуту 42 секунды

    Спасибо, мои сенсеи.

    Только я понял, что lambda:expando, это тоже самое что и lambda:huexpando, как впрочем и любой другой объект.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 апреля 2012 г. 20:07, спустя 645 дней 15 часов 43 минуты

    conf = type('Conf', (object, ), {})()

    И еще тут почитать можно http://www.gossamer-threads.com/lists/python/python/832915
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!