0
if not sky.has_key('blue'):
    get_currently_compared_key # blue
elif not sky.has_key('cloud'):
    get_currently_compared_key # cloud

上記のコードでは、ifステートメントで「青」を取得したいと思います。便利な方法はありますか?

編集1:空の場合=='青'->空でない場合=='青'編集2:空でない場合.has_key('blue').. ..

4

2 に答える 2

2

後件部の内部に拡張する魔法の識別子はありませんblue。それがあなたの言いたいことなら、sky明らかにあなたが求めている価値がありますが

編集:私はあなたがsky != 'blue'の代わりに意味すると思いますnot sky == 'blue'。いいえ、条件で比較中の値に到達するための魔法の方法はありません。もう一度入力'blue'するか、条件の外でそれを保持する変数を作成します。

BLUE = 'blue'

if sky != BLUE:
    make_the_sky(BLUE)

編集2:わかりhas_keyました。まだ魔法はありません。(または)has_keyを支持して、かなり長い間非推奨になっていることに注意してください。'blue' in sky'blue' not in sky

于 2012-04-17T11:03:04.790 に答える
1

いいえ、これを行う唯一の方法は明らかな方法です。

sky_colour = 'blue'
if not sky == sky_colour:
    do_something(sky_colour)

またはあなたの編集のために:

sky_colour = 'blue'
if sky_colour not in sky:
    do_something(sky_colour)

has_key()必要ありません-in代わりにキーワードを使用してください。読みやすくなります。

于 2012-04-17T11:05:40.817 に答える