Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 12, 2016 07:03:59

babai
Зарегистрирован: 2015-12-25
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с переменными

Добрый день.
Описывать все не хочу что и как делаю))) уж больно долго и муторно. Нужна помощь вот в чем, есть куча переменных с присвоиными значаниями. Нужно как-то эти переменные со значениями поместить в словарь или куда еще)) То есть ключь это имя переменной, а значение, это значение. Как это сделать?) Голову сломал. Хотелось бы с помощью цикла. Заранее спасибо!

Офлайн

#2 Янв. 12, 2016 07:50:16

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите с переменными

Вручную прописывать в словарь в виде {“х: ”: х, и тд}

Офлайн

#3 Янв. 12, 2016 08:01:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с переменными

a = 1
b = "vvv"
class Foo:
    pass
f = Foo()
f.a = 45
print(locals())
print(f.__dict__)



Офлайн

#4 Янв. 12, 2016 08:02:44

babai
Зарегистрирован: 2015-12-25
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с переменными

Вручную прописывать я и сам бы догадался)))) Спасибо все равно.
Хочется не писать здоровееный код, написать красиво и эстетично)

Офлайн

#5 Янв. 12, 2016 08:05:44

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите с переменными

babai
Вручную прописывать я и сам бы догадался)))) Спасибо все равно.Хочется не писать здоровееный код, написать красиво и эстетично)
Лучше тогда было заносить значения не в кучу переменных, а в список например. А потом уже где надо циклом этот список выводить.

Офлайн

#6 Янв. 12, 2016 08:49:04

babai
Зарегистрирован: 2015-12-25
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с переменными

Тут все не так просто.)) Я сделал окно на PyQt4 в котором куча строк всяких разных. Типа форма для заполнения. И две кнопки, сохранить и отмена. Так вот нужно чтоб по нажатию кнопки сохранить вся инфа с заполненных строк сохранялась где-то, а затем перенести ее в SQL базу. Так как каждая строка имеет свое имя, то я и хотел чтоб к этому имени присваивалось значение строки и куда-то записывалось, типа словаря. А потом уже из словоря перенести данные в SQL.

def save_info(self):
        
        sql_per =dict.fromkeys(["line1", "comboBox1", "line2", "comboBox2", "comboBox3",
                  "line3", "textEdit1", "textEdit2", "line4", "line5",
                  "line6", "line7", "comboBox4"])
        for i in range(49, 55):
            sql_per["line%c" % i] = ("self.line%с.text()" % i)


Вот вам кусочек. Закоментил ту часть с которой у меня проблемы. Если с указанием индекса словаря это работает, то понятно, что переменная self.line1.text() это не строка и в этом вся беда.

Предложение с классом Foo неплохое, надо подумать как его сюда можно приклеить), спасибо!
Но может есть еще какие-то предложения?)

Отредактировано babai (Янв. 12, 2016 09:01:01)

Офлайн

#7 Янв. 12, 2016 08:55:07

babai
Зарегистрирован: 2015-12-25
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с переменными

Извините, исправил)

Отредактировано babai (Янв. 12, 2016 08:59:42)

Офлайн

#8 Янв. 12, 2016 08:57:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с переменными

Нифига не понял, но вангую, что тебе нужены стандартные функции setattr и getattr



Офлайн

#9 Янв. 12, 2016 08:59:04

babai
Зарегистрирован: 2015-12-25
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с переменными

Понял, спасибо. Попробую покопать в этом направлении)))

Офлайн

#10 Янв. 12, 2016 09:50:34

babai
Зарегистрирован: 2015-12-25
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с переменными

Блин, ) рядом но не то))

for i in range(49, 55):
            sql_per["line%c" % i] = getattr(c, ("line%c % i.text()"))

Мне нужно там еще метод использовать .text() для возврата текста из строки, а с какой его тут стороны подставить не понимаю. Думаю getattr сюда не подходит, потомучто это не просто переменная. Или может я чайник чего-то не так делаю?)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version