Ahora mismo no conozco el código completo de ese ejemplo, pero te comento un par de cosas por si te sirve de ayuda.
- Python utiliza tipado dinámico, es decir, si tu primero haces
seleccionado = False y miras el tipo de
seleccionado (con la función
type(seleccionado)) verás que es booleano, si luego haces
seleccionado += 1 y de nuevo miras su tipo verás que ha pasado a ser int (de tipo numérico, vamos). En Python el tipo de valor que almacena la variable se ajusta automáticamente a su contenido, así que es completamente posible hacer ese tipo de cosas.
- Para evaluar condiciones no solo se puede usar booleanos, en general un int de valor 0 se evaluará como False y un int de cualquier otro valor, positivo o negativo, se evaluará como True. Un string vacío también se evaluará como False, mientras que si contiene algún carácter se evaluará como True, etc.
- Ejecuta este código y quizá lo entiendas mejor:
var = True
print type(var)
print var
var += 1
print type(var)
print var
Como verás la variable var ha cambiado de tipo dinámicamente y aunque hemos sumado 1 su valor al final es 2, lo cual demuestra que al definirla como True el valor numérico que se le asigna es 1.
Espero haberte ayudado, un saludo!
De la API al IDE y del IDE a la API.