Pertanyaan Python 'If not' syntax [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya agak bingung tentang bagaimana / mengapa begitu banyak pengembang python menggunakannya if not dalam pernyataan kondisional mereka.

misalnya, katakanlah kita memiliki fungsi,

def foo(bar = None):
    if not bar:
        bar = 2

Tapi kenapa harus begini? Maksud saya, tidak akan melakukannya if bar != None atau if bar is not Nonelebih eksplisit? Apa yang terjadi if not coba katakan?


102
2018-05-24 16:24


asal


Jawaban:


Iya nih, if bar is not None lebih eksplisit, dan dengan demikian lebih baik, dengan asumsi memang itu yang Anda inginkan. Itu tidak selalu terjadi, ada perbedaan halus: if not bar: akan mengeksekusi jika bar adalah jenis nol atau wadah kosong, atau False. Banyak orang menggunakannya not bar dimana mereka benar-benar berarti bar is not None.


127
2018-05-24 16:29