¿Es posible sólo declarar una variable sin asignar ningún valor en Python?
¿Es posible declarar una variable en Python, así?:
var
para que se inicialice en Ninguno? Parece que Python permite esto, pero tan pronto como accedes, falla. es posible? Si no, ¿por qué?
EDITAR: quiero hacer esto para casos como este:
value
for index in sequence:
if value == None and conditionMet:
value = index
break
preguntas relacionadas
- ¿Por qué una función puede modificar algunos argumentos tal como los percibe la persona que llama, pero no otros?
- Declaración de variables de Python
Ver también
- Nombres y valores de Python
- Otros idiomas tienen "variables"
¿Por qué no hacer simplemente esto?
var = None
Python es dinámico, por lo que no es necesario declarar cosas; existen automáticamente en el primer ámbito donde están asignados. Entonces, todo lo que necesita es una declaración de asignación antigua y normal como la anterior.
Esto es bueno, porque nunca terminarás con una variable no inicializada. Pero tenga cuidado: esto no significa que no terminará con variables inicializadas incorrectamente . Si inicia algo en None
, asegúrese de que sea lo que realmente desea y, si puede, asigne algo más significativo.
En Python 3.6+ puedes usar anotaciones variables para esto:
https://www.python.org/dev/peps/pep-0526/#abstract
PEP 484 introdujo sugerencias tipográficas, también conocidas como anotaciones tipográficas. Si bien su enfoque principal fueron las anotaciones de funciones, también introdujo la noción de comentarios de tipo para anotar variables:
# 'captain' is a string (Note: initial value is a problem)
captain = ... # type: str
PEP 526 tiene como objetivo agregar sintaxis a Python para anotar los tipos de variables (incluidas las variables de clase y las variables de instancia), en lugar de expresarlas mediante comentarios:
captain: str # Note: no initial value!
Parece estar más directamente en línea con lo que preguntaba "¿Es posible declarar sólo una variable sin asignar ningún valor en Python?"
Nota: El tiempo de ejecución de Python no aplica anotaciones de tipos de variables y funciones. Pueden ser utilizados por herramientas de terceros, como verificadores de tipos, IDE, linters, etc.