fazendo comparação de strings em python

Eu estava tentando replicar o strcmp de c em python.Eu digitei o programa anterior e funcionou, mas o último parece funcionar bem? Por favor, explique o último.Eu só esperava == para trabalhar, mas>, <parece wokrk. Como python sabe que por <,> quero dizer o comprimento da string sem usar len ()

def strcmp(str1,str2):
    if(len(str1) == len(str2)):
     return 0
    if(len(str1) > len(str2)):
     return 1
    if(len(str1) < len(str2)):
     return -1
print strcmp("ashsih","aapam")

vs

def strcmp(str1,str2):
    if(str1 == str2):
     return 0
    if(str1 > str2):
     return 1
    if(str1 < str2):
     return -1
print strcmp("ashsih","aapam")