[解決済み] どのように**kwargsのキーが存在するかどうかを確認する?
質問
Python 3.2.3です。いくつかのアイディアがありました ここに記載されている は通常のvarで動作しますが、**kwargsは異なるルールで動作するようです...ではなぜこれが動作しないのか、そして**kwargsのキーが存在するかどうかを確認するにはどうしたらよいでしょうか?
if kwargs['errormessage']:
print("It exists")
これもうまくいくはずだと思うのですが、うまくいきません --。
if errormessage in kwargs:
print("yeah it's here")
kwargsはイテラブルだからでしょうか?特定のキーがあるかどうかを確認するために、それを繰り返し実行しなければならないのでしょうか?
どのように解決するのですか?
あなたは
if 'errormessage' in kwargs:
print("found it")
の値を取得するために
errormessage
if 'errormessage' in kwargs:
print("errormessage equals " + kwargs.get("errormessage"))
このように
kwargs
は単に別の
dict
. 最初の例では
if kwargs['errormessage']
は、kwargs のキー "errormessage" に関連付けられた値を取得し、その bool 値をチェックすることを意味します。 ですから、もしそのようなキーがない場合は
KeyError
.
2つ目の例です。
if errormessage in kwargs:
は、「もし
kwargs
が " で指定された要素を含んでいる場合。
errormessage
で指定された要素が含まれ、かつ、"
errormessage
"が変数名である場合は
NameError
.
辞書にもメソッドがあることを述べておきます。
.get()
というメソッドがあり、デフォルトのパラメータを受け取ります(デフォルトは
None
になります)、つまり
kwargs.get("errormessage")
はそのキーが存在すればその値を返し
None
を返します(同様に
kwargs.get("errormessage", 17)
はあなたが考えているようなことをします)。 キーが存在するかしないかの違いを気にしない場合は
None
を値として持つか、キーが存在しないかの違いを気にしない場合、これは便利です。
関連
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
python call matlab メソッドの詳細
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] Pythonで**kwargsを使用する正しい方法