As funções são avaliadas quando passadas como parâmetros?

se eu tiver algum código como este:

def handler(self):
   self.run(self.connect)

def connect(self, param):
   #do stuff...

def run(self, connector):
   self.runner = connector

O que é avaliado primeiro quando eu chamo self.run (self.connect)?

correr com as coisas em conectar já feito? ou conectar-se com o self.connect ainda a ser avaliado?