Как убрать кавычки в значении переменной в Python

Например, переменная a равна строке: a = 'Test'. Как сделать чтобы a стала равна этой же строке, но без кавычек? Чтобы a стала равна Test? p.s. Просто нужно в ней хранить название функции, которое передаётся в строковом формате


Ответы (2 шт):

Автор решения: passant
  1. Открыть учебник по Python.

  2. Прочитать раздел про строковые переменные. (Обычно не далее десятой страницы после начала книги).

  3. Понять, что означает запись a = 'Test'. (Собственно, вашей переменной a и присваивается текстовая строка без всяких кавычек).

P.S. Ума не приложу, как можно дойти до хранения названия функций и не знать, что такое строка?? Вы что учебник читаете не подряд, а одну страницу из каждых двадцати трех?

→ Ссылка
Автор решения: EzikBro

Такой код вполне работает:

def func(x):
    print(f'func({x}) call')

name = 'func'
arg = '10'
exec(f'{name}({arg})')

>>> func(10) call

Если же вы желаете с помощью exec присвоить переменной функцию по названию, то это будет как-то так:

def func(x):
    print(f'func({x}) call')

name = 'func'
var = 'a'
exec(f'{var} = {name}')
a(4)

>>> func(4) call
→ Ссылка