[解決済み] python assert括弧付きと括弧なし
2022-07-23 14:43:09
質問
ここでは、4つの簡単なassertの呼び出しを紹介します。
>>> assert 1==2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>> assert 1==2, "hi"
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError: hi
>>> assert(1==2)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>> assert(1==2, "hi")
最後のものはエラーを発生させないことに注意してください。 このような動作を引き起こす、括弧の有無によるassertの呼び出しの違いは何でしょうか? 私の実践では括弧を使用しますが、上記は私がそうすべきではないことを示唆しています。
どのように解決するのですか?
最後の
assert
であれば、警告が表示されたはずです (
SyntaxWarning: assertion is always true, perhaps remove parentheses?
を実行した場合、警告が表示されます。 なぜなら
assert
はキーワードであり関数ではないので、実際には最初の引数としてタプルを渡し、2番目の引数を省いています。
空でないタプルの評価は
True
と評価され、アサーションメッセージはオプションであるため、実質的に
assert True
を書いたときに
assert(1==2, "hi")
.
関連
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] Pythonの "assert "はどのように使うのですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pythonでファイルの読み込みと上書きをする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonで改行(行継続)をするにはどうしたらいいですか?
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?