Python, but this is actually defined and documented behavior.
Edit: to illustrate what I mean:
not() # True
this actually is not ()
(the lack of space makes it look like a function), ()
is a tuple, in python an empty collection returns False
, this is to make checks simpler. You can type:
if my_list:
do something
instead of
if len(my_list) > 0:
do something
not
negates it so you get True
str(not()) # 'True'
converts resulting bool
type into a string representation
min(str(not())) # 'T'
This might feel odd, but that’s also documented. min()
not only allows to compare two numbers like it is in most languages, but you can also provide a sequence of values and it will return the smallest one.
String is a sequence of letters.
Letters are comparable according to ASCII (so you can do sorting). In ASCII table capital letters are first, so the ‘T’ is the smallest value.
ord(min(str(not()))) # 84
this just converts ‘T’ to Unicode value which is 84
range(ord(min(str(not())))) # range(0, 84)
This creates a sequence of numbers from 0 to 83
sum(range(ord(min(str(not()))))) # 3486
This works like min()
except adds up all the numbers in the sequence together, so in our case 0+1+2+3+…+83 = 3486
chr(sum(range(ord(min(str(not())))))) # 'ඞ'
reverse of ord()
, converts Unicode value to a character.