失敗談 技術

Pythonでの勘違い(if A:)

投稿日:

勘違い

小ネタです。
Pythonでは、以下のように書くことができます。

a = []
if a:
  print("not empty!")
else:
  print("empty!")

結果は以下になります。

empty!

そう言われれば、そうなんだが、、

私はaというのがNoneか、”空文字列”の時に「だけ」偽になると思いこんでた。。
つまり配列の場合は、、考えてなかった。。
ちょっと考えれば分かることだったのに。

なのでaが配列の場合は、以下の感じで書いてた気がする。

if len(a) > 0:
    print("not empty!")

思い込みは怖い

気を付けよう。と思ってもきっといろいろ思い込んでる。。

-失敗談, 技術

執筆者:

関連記事

PythonでAESを使用して暗号/復号する

1.つづき Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムの続きです。 今回はAESで暗号化/復号を行い、通信しながらRSA暗号/復号,AES暗号/復号を組み合わせたいと思い …

pipenv + Apache + Django起動設定

仕事でwebアプリケーションを作成しています。 Djangoで作成し、webサーバをApache、環境をpipenvで設定したpython3環境上で動かす予定です。 Apacheが起動するまでに、苦労 …

暗号モードによる処理時間の違いを測定してみた

はじめに 前回、AESで暗号化する実装をしてみた際、知らない暗号モードが増えたなと思いました。 なので、どの暗号モードを使用すべきかの、判定材料の一つとして、代表的な暗号モードの処理速度を簡単に計って …

vscodeのRemote Developmentで「権限がない」と怒られた時

小ネタです。 vscodeのRemote Developmentにてパスワードなしログイン vscodeは時々使うのですが、リモート開発するのにRemote Developmentが便利なので使ってま …

Thunderbird プラグイン WebExtensions版開発方法を調べた

初めに 最近のメールは、中身だけ見てもスパムかどうかわからないぐらい、精巧にできてます。 一方、各プロバイダでは対応ができていることも多いです。例えば、私はメールはOCNなのですが、OCNは&#822 …

    google オプトアウト Click here to opt-out.