some_var = 0
some_b = 1
my_dict = {
'some_var ': False,
'some_b' : 15
my_dict = {(1,): '2'}
print(my_dict[(1,)])
но мне трудно придумать реальный случай, когда надо так делать. А так, руководствуясь вашим отношением, можно на любой вопрос ответить "ну сами попробуйте" или "идите учите матчасть". Не понимаю вашего отношения. Быстрее было бы вам ответить на мой вопрос, чем упрекать.
Я передавал в функцию строковый аргумент без кавычек (как видел в одном примере), но никакого исключения не получал.
def change_stats_dict(name):
dic = stats_dict_names # здесь я уже после перестал передавать аргументы: словарь и значения, так и оставил
for key in dic.keys():
if key == name:
dic[key] = 1
else:
dic[key] = 0
screen stats_names():
style_prefix 'statsNames'
frame:
margin(10,0)
yalign .12
vbox:
if anna_meet:
textbutton 'Anna [stats_detail_fixed]':
if not stats_detail_fixed:
hovered [Function(change_stats_dict, 'anna_info'),
Show('statsDetail'), SetVariable('stats_detail', 1)]
unhovered [Hide('statsDetail')]
action [Function(change_stats_dict, 'anna_info'),
Show('statsDetail'), SetVariable('stats_detail_fixed', 1)]
else:
hovered SetVariable('stats_detail_fixed', 0)
action [Function(change_stats_dict, 'anna_info'),
Hide('statsDetail'), SetVariable('stats_detail_fixed', 0)]
my_var = 'key1'
my_dict = {
'key1': 0,
'key2': 1
}
print(my_dict)
def gg(dic, name):
for key in dic.keys():
if key == name:
dic[key] = 112
else:
dic[key] = 444
gg(my_dict, my_var)
print(my_dict)
Ну, просто код у вас есть и запустить его проблем возникнуть не должно, поэтому предположил, что под вопросом "Можно ли использовать..." вы имели ввиду, приемлемо ли это с точки зрения "хорошего кода".
Если вам не интересно разобраться в сути проблемы - так и скажите, или просто не отвечайте.
Где там какое имя передается в кавычках, и где оно может также без кавычек? Не уловил я…
gg(my_dict, my_var)
gg(my_dict, my_var) #1
gg(my_dict, "my_var") #2
hovered [Function(change_stats_dict, 'anna_info'), Show('statsDetail'), SetVariable('stats_detail', 1)]
unhovered [Hide('statsDetail')]
action [Function(change_stats_dict, 'anna_info'), Show('statsDetail'), SetVariable('stats_detail_fixed', 1)]
init python:
....pass
не важно, передаю я "my_var" в кавычках или без - функция всё равно выполняется (значение в словаре меняются).
gg(my_dict, my_var) #1
gg(my_dict, "my_var") #2
Разницы нет, результат одинаковый.
Разницы нет, результат одинаковый.
Вот это мне сильно подозрительно. Сижу думаю, как такое может быть.