Colección de citas famosas - Colección de firmas - Cómo generar dinámicamente nombres de variables en Python

Cómo generar dinámicamente nombres de variables en Python

Hola, el método es el siguiente:

Escribe un programa para que linuxany1=1, linuxany2=2,... inuxany100=100.

Eval es lo más fácil de imaginar, pero no hay necesidad de algo tan peligroso, porque el nombre de la variable de Python es solo una clave del diccionario. Para obtener este diccionario, simplemente use las funciones locales y globales directamente.

& gt& gt& gtnames = locals()

& gt& gt& gtPara I en xrange(1, 101):

...names[' linuxany% s' % i] = i

...& gt& gt& gtlinuxany1

1 & gt;& gt& gtlinuxany2

2 & gt& gt& gtlinuxany100< /p >

100

Pero se puede decir que este ejemplo es inútil. Después de todo, es más práctico utilizar una matriz.

Por ejemplo, si el servidor utiliza una base de datos de objetos, el objeto se puede guardar directamente en la base de datos. El servidor enumera todas las clases admitidas actualmente. El usuario desea agregar una clase que no existe en la lista, por lo que envía un texto JSON o XML al servidor. El servidor analiza este texto, lo convierte en un objeto de clase y establece el nombre de la clase. Entonces el usuario puede generar objetos de esta clase a voluntad.

La clave es que esta base de datos está relacionada con el nombre de la clase. No puede utilizar una clase de objeto común para contener todos los objetos; de lo contrario, las consultas serán confusas.

Además de configurar dinámicamente los nombres de las variables, también es posible la eliminación dinámica, por ejemplo

del locals()['linuxany1']

Del mismo modo, delattr es también disponible.

Espero que esto ayude.