Python 3では、 "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
>>>
次を使用して、グローバル名x
を削除できます。
del x
Pythonには、CまたはJavaの意味での「変数」はありません。Pythonでは、変数は、固定メモリを参照する名前ではなく、任意のオブジェクトに適用できるタグです。ロケーション。
削除しても、名前が指すオブジェクトは必ずしも削除されません。
おそらくNoneに設定したいでしょう。
variable = None
「未定義状態」をテストできるようにするには、Noneに設定する必要があります。
variable = None
そしてテスト
if variable is None:
ものをきれいにしたいなら、それを削除することができます、del variable
しかし、それはガベージコレクターのタスクでなければなりません。
OPのコメントに照らして:
# check if the variable is undefined
try:
x
# if it is undefined, initialize it
except NameError:
x = 1
そして、他の人が言ったように、del
キーワードを使用して定義済みの変数を削除できます。
Var xをNoneとして定義することもできます
x = None