Как установить переменную Python в 'undefined'?
В Python 3 у меня есть глобальная переменная, которая начинается с "undefined".
Затем я устанавливаю его на что-то.
Есть ли способ вернуть эту переменную в состояние "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
>>>
Ответы
Ответ 1
Вы можете удалить глобальное имя x
с помощью
del x
Python не имеет "переменных" в смысле C или Java. В Python переменная - это всего лишь тег, который вы можете применить к любому объекту, в отличие от имени, исправляющего некоторую фиксированную ячейку памяти.
Удаление необязательно удаляет объект, на которое указано имя.
Ответ 2
Вероятно, вы хотите установить его в None.
variable = None
Ответ 3
Вы также можете определить свой var x как None
x = None
Ответ 4
Если вы хотите проверить его состояние undefined, вы должны установить его в None:
variable = None
и проверьте с помощью
if variable is None:
Если вы хотите очистить материал, вы можете удалить его, del variable
, но это должно быть задачей сборщика мусора.
Ответ 5
В свете комментариев OP:
# check if the variable is undefined
try:
x
# if it is undefined, initialize it
except NameError:
x = 1
И, как и все остальные, вы можете удалить определенную переменную, используя ключевое слово del
.