web-dev-qa-db-ja.com

Python変数を 'undefined'に設定するには?

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
>>> 
16
Duke Dougal

次を使用して、グローバル名xを削除できます。

del x

Pythonには、CまたはJavaの意味での「変数」はありません。Pythonでは、変数は、固定メモリを参照する名前ではなく、任意のオブジェクトに適用できるタグです。ロケーション。

削除しても、名前が指すオブジェクトは必ずしも削除されません。

17
Sven Marnach

おそらくNoneに設定したいでしょう。

variable = None
21
justengel

「未定義状態」をテストできるようにするには、Noneに設定する必要があります。

variable = None

そしてテスト

if variable is None: 

ものをきれいにしたいなら、それを削除することができます、del variableしかし、それはガベージコレクターのタスクでなければなりません。

3
damienfrancois

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
0
Guillaume