Saltar al contenido

¿Cuál es el propósito de la variable de guión bajo simple “_” en Python?

Solución:

_ tiene 3 usos convencionales principales en Python:

  1. Para mantener el resultado de la última expresión ejecutada (declaración /) en una sesión de intérprete interactiva (ver documentos). Este precedente fue establecido por el intérprete estándar de CPython, y otros intérpretes han seguido su ejemplo.

  2. Para la búsqueda de traducción en i18n (consulte la documentación de gettext, por ejemplo), como en código como

    raise forms.ValidationError(_("Please enter a correct username"))
    
  3. Como nombre de variable “desechable” de uso general:

    1. Para indicar que parte del resultado de una función se ignora deliberadamente (conceptualmente, se descarta), como en un código como:

      label, has_label, _ = text.partition(':')
      
    2. Como parte de la definición de una función (usando def o lambda), donde la firma es fija (por ejemplo, mediante una devolución de llamada o una API de clase principal), pero esta implementación de función en particular no necesita todos los parámetros, como en el código como:

      def callback(_):
          return True
      

      [For a long time this answer didn’t list this use case, but it came up often enough, as noted here, to be worth listing explicitly.]

    Este caso de uso puede entrar en conflicto con el caso de uso de búsqueda de traducción, por lo que es necesario evitar el uso _ como una variable desechable en cualquier bloque de código que también la use para la traducción de i18n (muchas personas prefieren un guión bajo doble, __, como su variable desechable exactamente por esta razón).

    Los linters a menudo reconocen este caso de uso. Por ejemplo year, month, day = date() levantará una advertencia de pelusa si day no se usa más adelante en el código. La solución, si day realmente no es necesario, es escribir year, month, _ = date(). Lo mismo con las funciones lambda, lambda arg: 1.0 crea una función que requiere un argumento pero no lo usa, que será capturado por lint. La solución es escribir lambda _: 1.0. Una variable no utilizada a menudo esconde un error / error tipográfico (p. Ej., Set day pero usa dya en la siguiente línea).

Es solo un nombre de variable, y es convencional en Python usar _ para variables desechables. Simplemente indica que la variable de bucle no se usa realmente.

Guion bajo _ se considera como “No me importa” o “Tirar a la basura“variable en Python

  • El intérprete de Python almacena el último valor de expresión en la variable especial llamada _.

    >>> 10 
    10
    
    >>> _ 
    10
    
    >>> _ * 3 
    30
    
  • El subrayado _ también se utiliza para ignorar los valores específicos. Si no necesita los valores específicos o los valores no se utilizan, simplemente asigne los valores al subrayado.

    Ignore un valor al desembalar

    x, _, y = (1, 2, 3)
    
    >>> x
    1
    
    >>> y 
    3
    

    Ignorar el índice

    for _ in range(10):     
        do_something()
    
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *