1. ホーム
  2. python

[解決済み] 何かが存在するかどうかを確認するPythonicな方法?

2023-07-21 14:23:37

質問

これはかなり基本的なことですが、私はコーディングをしていて、何かが存在しないかどうかをチェックするためのpythonicな方法があるかどうか疑問に思い始めました。 ここでは、それが真である場合、私はそれを行う方法です。

var = 1
if var:
    print 'it exists'

のような書き方をしていますが、何かが存在しないかどうかを調べるときには、よくこのような書き方をします。

var = 2
if var:
    print 'it exists'
else:
    print 'nope it does not'

もし私が気にするのがknだけなら、それは無駄のように思えます。

どのように解決するのですか?

LBYLスタイル、quot;look before you leap"です。

var_exists = 'var' in locals() or 'var' in globals()

EAFPスタイル、"permission"よりもforward forgivenessを求める方が簡単。

try:
    var
except NameError:
    var_exists = False
else:
    var_exists = True

Pythonでコーディングする場合は、2番目のスタイル(EAFP)の方が一般的に信頼性が高いため、そちらを推奨します。