2017-01-16 19 views
-2

変数が存在するかどうかをチェックするPython関数を作ることはできますか?変数が存在するかどうかテストする関数

私はこれを試してみましたが、そのいけない作業:

def tst(x): 
try: x 
except NameError: 
    x = raw_input("%s: " % x) 
return x 

があること、または私は毎回試行錯誤を除くする必要があります行うための方法がありますか?

Thxを

+4

あなたはこの変数が存在するかどうか...どこロジックですチェック関数に変数を渡します? – ForceBru

+0

あなたは明らかに新しい(1評判ポイント)ので、あなたの質問に投票するのはちょっと厳しいです。しかし、Pythonの基本的な研究や理解が示されていないため、人々が持っています。質問をする前に少し宿題をすることが重要です。 問題は、変数をテストする関数を定義していることです。この関数は引数(渡された変数のローカルにバインドされた名前)のみをテストできます。したがって、関数内で決して失敗することはありません。変数が定義されていない場合、関数が呼び出されるサイトでは失敗します。 – bmacnaughton

答えて

1

それは可能ですが、あなたはおそらく、あなたが達成しようとしているかを検討すべきである、あなたはこのようなもの使用することができます

if x in locals() or x in globals(): 
    ... 
+1

変数の名前でテストする必要があります(例:locals()などのコンテンツではありません)。 – bmacnaughton

0

をこれに伴う問題は、Pythonを宣言するということです新しい変数xを使用すると、NameErrorに遭遇することはありません。

A solution for this already exists

+0

解決策がスタックネットワーク内に既に存在する場合は、重複として質問にフラグを立ててください:) –

+0

ありがとうございました。 –

関連する問題