is True를 명시적으로 사용하는 습관은 종종 SQL에서 온 것인데, 데이터베이스 열(column)의 자료형이 논리 자료형이면서 동시에 널(null)일 수도 있기 때문입니다.1 그러나 가끔은 기존의 파이썬 코드에서도 유사한 사용법을 볼 수 있습니다. SQL에서는 다음 코드에서 볼 수 있듯이 이러한 검증 방식이 실제로 의미가 있습니다.
SQL에서 = TRUE의 사용
SQLite version 3.37.2 2022-01-06 13:25:41
sqlite> CREATE TABLE test (name TEXT, flag BOOL NULL);
sqlite> INSERT INTO test VALUES ("Bob", TRUE), ("Ann", FALSE), ("Li", NULL);
sqlite> SELECT name FROM test WHERE flag IS NULL;
Li
sqlite> SELECT name FROM test WHERE flag = TRUE;
Bob
sqlite> SELECT name FROM test WHERE flag = FALSE;
Ann
sqlite> SELECT name FROM test WHERE NOT flag; # ➊
Ann
➊ 많은 SQL의 방언에서는 파이썬과 유사한 방식의 간소화된 값(bare value)을 사용할 수 있지만, 그럼에도 불구하고 명시적인 방식이 최선의 관행으로 유지되고 있습니다.