¿Cuál es el propósito de la variable de guion bajo simple "" en Python?
¿Cuál es el significado de _
después de for
en este código?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
4 answers
_
tiene 3 usos convencionales principales en Python:
- Para mantener el resultado de la última expresión ejecutada (/sentencia) en un sesión de intérprete. Este precedente fue establecido por el estándar CPython intérprete, y otros intérpretes han seguido su ejemplo
- Para la búsqueda de traducción en i18n (ver el
gettext
documentación por ejemplo), como en código como:
raise forms.ValidationError(_("Please enter a correct username"))
- Como nombre de variable de uso general "desechable" para indicar esa parte
de un resultado de la función es ser deliberadamente ignorado, como en código como:
label, has_label, _ = text.partition(':')
Los dos últimos propósitos pueden entrar en conflicto, por lo que es necesario evitar usar _
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 doble guion bajo, __
, como su variable desechable exactamente por esta razón).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-23 07:32:42
Es solo un nombre de variable, y es convencional en python usar _
para variables desechables. Solo indica que la variable de bucle no se utiliza realmente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-05 05:47:50
El subrayado _
se considera como" No me importa "o" Desechable " variable en Python
-
El intérprete python almacena el último valor de expresión en la variable especial llamada
_
.>>> 10 10 >>> _ 10 >>> _ * 3 30
-
El subrayado
_
también se usa para ignorar los valores específicos. Si no necesita los valores específicos o los valores no se utilizan, simplemente asigne los valores a subrayado.Ignorar un valor cuando desembalaje
x, _, y = (1, 2, 3) >>> x 1 >>> y 3
Ignorar el índice
for _ in range(10): do_something()
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-12 14:37:42
Hay 5 casos para usar el subrayado en Python.
Para almacenar el valor de la última expresión en interpreter.
Para ignorar los valores específicos. (el llamado "No me importa")
Para dar significados y funciones especiales al nombre de vartiables o funciones.
Para usar como funciones' Internationalization(i18n) 'o' Localization(l10n)'.
Para separar los dígitos del número literal valor.
Aquí es un buen artículo con ejemplos mingrammer.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-13 08:49:43