Как установить переменную 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.