Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 16, 2014 15:40:20

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

строку в имя переменной и обратно

Добрый день,
возник такой вопрос: есть ли в питоне возможность “превращать” строки/символы в имена переменных и обратно? Например, пользователь вводит пару: “name - Nata” и содается переменная name=“Nata”; в R есть такая конструкция:

assign("num", 5)
> num
[1] 5
есть ли что нибудь похожее в питоне? И можно ли превратить имя переменной в строку (name -> “name”)
Заранее спасибо!



Офлайн

#2 Окт. 16, 2014 15:44:29

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

строку в имя переменной и обратно

>>> locals()['name'] = "Nata"
>>> name
'Nata'

Офлайн

#3 Окт. 16, 2014 15:52:07

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

строку в имя переменной и обратно

bismigalis
то что надо, спасибо!



Офлайн

#4 Окт. 16, 2014 20:59:55

kamisama
Зарегистрирован: 2014-07-08
Сообщения: 34
Репутация: +  4  -
Профиль   Отправить e-mail  

строку в имя переменной и обратно

Обратно нельзя. Ну вернее можно, но лучшего этого не видеть

Офлайн

#5 Окт. 16, 2014 21:30:46

Nata
От:
Зарегистрирован: 2010-10-02
Сообщения: 87
Репутация: +  6  -
Профиль   Отправить e-mail  

строку в имя переменной и обратно

kamisama
я так сделала:
>>> name
'Nata'
>>> [key for key in locals().keys() if locals()[key]=='Nata'][0]
'name'
>>>
не знаю, правильно или нет :D :D



Отредактировано Nata (Окт. 16, 2014 21:31:07)

Офлайн

#6 Окт. 16, 2014 21:52:06

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

строку в имя переменной и обратно

[key for key, value in locals().items() if value == 'Nata']

Офлайн

#7 Окт. 16, 2014 21:56:16

kamisama
Зарегистрирован: 2014-07-08
Сообщения: 34
Репутация: +  4  -
Профиль   Отправить e-mail  

строку в имя переменной и обратно

Если будут две переменные с таким значением, то может и не угадать)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version