失敗談 技術

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のmock.patchを使ってみる

単体テストによく使われるMockライブラリ Pythonで単体テストを行う際、実際のライブラリを使用してしまうと、実際の環境を用意しなければいけません。 例えば、データベースのテストをする際に、データ …

WSL2のubuntu 22.04 LTSを24.04 LTSにアップデート

WSL2 24.04LTS アップデート

Pythonからsvnしてみる

SVN: レガシーシステムの一つ。。 私の関わってるシステムでは、いまだにsvnレポジトリがあります。pythonで処理する必要性が生じましたが、そういえばどう処理していいもんか、完全に忘れました。 …

Python3でMongoDBを使ってみる(MongoEngine)

仕事している過程で、ふと疑問に思うことがありました。非同期についてです。 非同期問題を解決する方法はたくさんあると思いますが、MongoDBで解決できるのかが気になったので試してみました。 非同期問題 …

Django2.2 でのMySQL5.1対応

「対応」と書きながら、思い切り回避ですが。 マイグレーション時のエラー マイグレーションしたら、以下のエラーになりました。 $ pipenv run python3 manage.py migrate …

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