¿Qué es python. ("punto punto") sintaxis de notación?


Recientemente me encontré con una sintaxis que nunca había visto antes cuando aprendí python ni en la mayoría de los tutoriales, la notación .., se ve algo como esto:

f = 1..__truediv__ # or 1..__div__ for python 2

print(f(8)) # prints 0.125 

Pensé que era exactamente lo mismo que (excepto que es más largo, por supuesto):

f = lambda x: (1).__truediv__(x)
print(f(8)) # prints 0.125 or 1//8

Pero mis preguntas son:

  • ¿Cómo puede hacer eso?
  • ¿Qué significa realmente con los dos puntos?
  • ¿Cómo se puede utilizar en una declaración más compleja (si es posible)?

Esto probablemente me ahorra muchas líneas de código en el futuro...:)


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52