PHP’ > ‘Perl’ > ‘Python’ これなんでTRUEじゃないの?

この式がTrueではない理由は、Pythonにおいて文字列の大小比較は辞書式順序で行われるためです。

'PHP''Perl' よりも辞書式順序で後に来るため、 'PHP' > 'Perl' の部分はTrueです。

しかし、'Perl''Python' の比較では、先頭の文字 'P' が同じであるため、2番目の文字である 'e''y' を比較します。Unicodeコードポイントにおいて、'e''y' よりも先に来るため、'Perl''Python' よりも辞書式順序で前に来ます。そのため、'Perl' > 'Python' の部分はTrueです。

しかし、これらを連鎖的に評価すると 'PHP' > 'Python' となります。実際には、辞書式順序で 'PHP''Python' よりも後に来るため、'PHP' > 'Python'Falseです。

したがって、'PHP' > 'Perl' > 'Python' は全体としては False になります。

未分類

Posted by ぼっち