Как установить переменную Python в "undefined"?
в Python 3, у меня есть глобальная переменная, которая начинается как "undefined".
затем я установил его на что-то.
есть ли способ вернуть эту переменную в состояние "не определено"?
@martijnpieters
EDIT-это показывает, как глобальная переменная начинается в состоянии undefined.
Python 2.7.5+ (default, Feb 27 2014, 19:37:08)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>> global x
>>> x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>>
5 ответов
Вы можете удалить глобальное имя x
С помощью
del x
Python не имеет "переменных" в смысле C или Java. В Python переменная-это просто тег можно применить к любому объекту, в отличие от имени refencing некоторой фиксированной ячейке памяти.
удаление не обязательно удаляет объект, на который указано имя.
Если вы хотите иметь возможность проверить его "неопределенное состояние", вы должны установить его в None:
variable = None
и
if variable is None:
Если вы хотите очистить материал, вы можете удалить его,del variable
но это должно быть задачей сборщика мусора.
в свете комментариев ОП:
# check if the variable is undefined
try:
x
# if it is undefined, initialize it
except NameError:
x = 1
и, как и остальные, вы можете удалить определенную переменную с помощью del
ключевое слово.