読者です 読者をやめる 読者になる 読者になる

あいつの日誌β

あいつの日誌です。

暗黙の False の恐怖

Python

暗黙の False - あいつの日誌β

以前このような記事を書いたのですが、requests というモジュールがちょっと怖いなと感じる挙動をしているので記事に書いてみます。

# -*- coding: utf-8 -*-

import requests


def test(response):
    if response:
        return 'this is True'
    else:
        return 'this is False!!'

response = requests.Response()
response.status_code = 200 
print test(response)
response.status_code = 400 
print test(response)
:!python %
this is True
this is False!!

Python 書く人にとっても違和感があるようですが、どうも以下のような理由があるようです。

requests.getとかpostがResponseを返すので、 if requests.get('/'): みたいに書けるようにという配慮

インターフェースって本当に難しいですね。