Если вы сравните строки в python, он будет учитывать значения ascii символов. Значение Ascii для «a» - 97, а значение Ascii для «b» - 98. Таким образом, в основном вы спрашиваете, если 97> 98, что является ложью. Это причина того, что ('a'> 'b') оценивается как ложное.
Ниже приведены некоторые примеры
'a' > 'b' -> false
'ac' > 'ab' -> true (here first characters are equal. So it will compare 'c' and 'b')
'ac' > 'ba' -> false (here first characters are different. So it will just compare first characters)