Para convertir cadena a nombre de variable

Tengo cualquier cadena. como ‘búfalo’,

x='buffalo' 

Quiero convertir esta cadena a un nombre de variable como,

 buffalo=4 

No solo este ejemplo, quiero convertir cualquier cadena de entrada a algún nombre de variable. ¿Cómo debo hacer eso (en python)?

 x='buffalo' exec("%s = %d" % (x,2)) 

Después de eso puedes comprobarlo por:

 print buffalo 

Como salida verás: 2

Esta es la mejor manera, que conozco para crear variables dinámicas en Python.

 my_dict = {} x = "Buffalo" my_dict[x] = 4 

Encontré una pregunta similar, pero no la misma, aquí Creación de variables con nombre dynamic a partir de la entrada del usuario

[Editado de acuerdo con la sugerencia de Martijn]

Puede utilizar un Diccionario para realizar un seguimiento de las claves y los valores.

Por ejemplo…

 dictOfStuff = {} ##Make a Dictionary x = "Buffalo" ##OR it can equal the input of something, up to you. dictOfStuff[x] = 4 ##Get the dict spot that has the same key ("name") as what X is equal to. In this case "Buffalo". and set it to 4. Or you can set it to what ever you like print(dictOfStuff[x]) ##print out the value of the spot in the dict that same key ("name") as the dictionary. 

Un diccionario es muy similar a un diccionario de la vida real. Tienes una palabra y tienes una definición. Puedes buscar la palabra y obtener la definición. Entonces, en este caso, tiene la palabra “Búfalo” y su definición es 4. Puede funcionar con cualquier otra palabra y definición. Solo asegúrate de ponerlos en el diccionario primero.