Python __str__ Ejemplo

Python __str__ Ejemplo
La función __STR__ en Python simplemente se usa para devolver la salida de las funciones de Python en un formato de cadena. Esta función se usa principalmente con las funciones definidas por el usuario, ya que sus salidas generalmente no están en el formato de cadena. Para una comprensión más fácil de esas salidas, deben convertirse en el formato de cadena. Sin embargo, para las clases definidas por el usuario, primero debe implementar esta función. Además, otra función conocida como la función __repr__ siempre se llama siempre que llame a la función __str__. Por lo tanto, o puede definir ambas funciones, o al menos, debe definir la función __repr__. Puede leer este artículo por completo para comprender el uso de esta función en Python.

Ejemplos de __str__ en Python en Windows 10

A continuación se muestran algunos de los diferentes usos de la función __str__ de Python. Al pasar por estos ejemplos a fondo, comprenderá cómo la funcionalidad de esta función difiere entre las clases predeterminadas y definidas por el usuario.

Ejemplo 1

En este ejemplo, queríamos usar una clase de Python predeterminada o predeterminada, yo.mi., DateTet, con la función __str__. Aquí, nos gustaría indicar que para las clases predefinidas o predeterminadas, todas estas funciones se implementan de forma predeterminada. No tienes que definirlos manualmente. El código que escribimos para demostrar este ejemplo es el siguiente:

En este código de Python, primero importamos el valor predeterminado "fecha y hora" clase. Después de eso, declaramos una variable llamada "actual"Y asignado a él el valor del"fecha y hora.ahora()"Función del"fecha y hora"Clase de Python. Esta función devuelve la fecha y hora del sistema actual. Después de eso, queríamos imprimir el valor de la función __STR__ seguido del valor de la función __repr__.

La salida producida como resultado de la ejecución de este script de Python se muestra en la imagen a continuación:

Sabemos que las funciones __str__ y __repr__ se implementaron de forma predeterminada ya que estábamos usando una clase predefinida, I.mi., fecha y hora. La función __str__ simplemente devolvió la salida del "fecha y hora.ahora()"Función en forma de una cadena. En contraste, la función __repr__ devolvió la salida del "fecha y hora.ahora()"Función en un formato utilizando el que se puede reconstruir esta salida. El punto a tener en cuenta aquí es que estos resultados se basan simplemente en las implementaciones predeterminadas de las funciones __str__ y __repr__ de Python.

Ejemplo 2

En este ejemplo, queríamos usar la función __STR__ con una clase definida por el usuario de una manera que las funciones __str__ y __repr__ no estaban definidas. El código que escribimos para demostrar este ejemplo es el siguiente:

En este código de Python, declaramos una clase llamada "Empleado". Luego, inicializamos sus atributos que eran emp_name y emp_id. Después de eso, creamos un objeto del "Empleado"Clase, yo.mi., "mi"Y con la ayuda de este objeto, creamos una instancia de empleado con el EMP_NAME"Hasan"Y emp_id"1". Finalmente, simplemente imprimimos el valor de la función __STR__ seguido por el valor de la función __repr__. Nos gustaría mencionar nuevamente que aún no hemos implementado ninguna de estas funciones.

La salida que se produjo como resultado de ejecutar este script de Python se muestra en la imagen a continuación:

Dado que hemos tratado con una clase definida por el usuario en este ejemplo, se suponía que debíamos implementar las funciones __str__ y __repr__ nosotros mismos. Sin embargo, no lo hicimos, por eso simplemente recibimos la dirección del "Empleado"Objeto como nuestra salida.

Ejemplo 3

En este ejemplo, queríamos usar la función __str__ con una clase definida por el usuario para que solo se definirá la función __repr__ y no la función __STR__. El código que escribimos para demostrar este ejemplo es el siguiente:

En este código de Python, declaramos una clase llamada "Empleado". Luego, inicializamos sus atributos que eran emp_name y emp_id. También hemos definido la función __reprePr__, y esta definición se personaliza de acuerdo con nuestra propia elección. Después de eso, creamos un objeto del "Empleado"Clase, yo.mi., "mi"Y con la ayuda de este objeto, creamos una instancia de empleado con el EMP_NAME"Hasan"Y emp_id"1". Finalmente, simplemente imprimimos el valor de la función __STR__ seguido por el valor de la función __repr__.

La salida que se produjo como resultado de ejecutar este script de Python se muestra en la imagen a continuación:

Dado que hemos definido la función __reprePr__ en nuestro código, se usó la misma definición para producir la salida de las funciones __repr__ y __str__.

Ejemplo 4

En este ejemplo, queríamos usar la función __str__ con una clase definida por el usuario de una manera que se definieron tanto las funciones __repr__ como __str__. El código que escribimos para demostrar este ejemplo es el siguiente:

En este código de Python, declaramos una clase llamada "Empleado". Luego, inicializamos sus atributos que eran emp_name y emp_id. También hemos definido las funciones __repr__ y __str__, y estas definiciones se personalizan de acuerdo con nuestra propia elección. La función __STR__ mostrará la salida en forma de una declaración completa, mientras que la función __repr__ simplemente devolverá los valores de salida de la cadena en nuestro caso. Después de eso, creamos un objeto del "Empleado"Clase, yo.mi., "E" y con la ayuda de este objeto, creamos una instancia de empleado con el EMP_NAME "Hasan"Y emp_id"1". Finalmente, simplemente imprimimos el valor de la función __STR__ seguido por el valor de la función __repr__.

La salida que se produjo como resultado de ejecutar este script de Python se muestra en la imagen a continuación:

Dado que tanto las funciones __str__ como __reprePr__ se definieron en nuestro código y las definiciones de ambas funciones diferían entre sí, los resultados de estas dos funciones son diferentes.

Ejemplo 5

En este ejemplo, queríamos usar la función __str__ con una clase definida por el usuario de una manera que solo se definirá la función __str__ y no la función __repr__. El código que escribimos para demostrar este ejemplo es el siguiente:

En este código de Python, declaramos una clase llamada "Empleado". Luego, inicializamos sus atributos que eran emp_name y emp_id. También hemos definido la función __str__, y esta definición se personaliza de acuerdo con nuestra propia elección. Después de eso, creamos un objeto del "Empleado" clase, "mi", Y con la ayuda de este objeto, creamos una instancia de empleado con el EMP_NAME"Hasan"Y emp_id"1". Finalmente, simplemente imprimimos el valor de la función __STR__ seguido por el valor de la función __repr__.

La salida que se produjo como resultado de ejecutar este script de Python se muestra en la imagen a continuación:

Como solo habíamos definido la función __str__ en nuestro código, su valor se imprimió correctamente. Mientras que para la función __repr__, nuevamente recibimos la dirección de nuestro "Empleado"Objeto ya que esta función no se definió en nuestro código.

Conclusión

En esta guía, primero te presentamos las funciones __str__ y __repr__ de Python. Para comprender bien el funcionamiento de estas funciones, compartimos cinco ejemplos diferentes con usted en los que le mostramos cómo la implementación de cualquiera o ambas funciones afecta la salida de su código Python. Lo último que nos gustaría recordarle es que si usa estas funciones con una clase predeterminada, no necesitará definir estas funciones explícitamente. Sin embargo, para las clases definidas por el usuario, es obligatorio definir estas funciones.