Entiendo que es una broma interna que debe permanecer (al igual que "from __future__ import braces
"), pero ¿qué es exactamente?Entonces, ¿qué hace exactamente "desde __future__ import barry_as_FLUFL"?
Respuesta
Está relacionado con PEP 0401: BDFL Retirement
Barry Barry se refiere a Varsovia, un conocido desarrollador de Python. El from __future__ import barry_as_FLUFL
básicamente reemplaza al operador !=
con <>
.
La broma de April Fool PEP 0401 es realmente divertida y, por lo tanto, su implementación actual. Funciona muy bien de forma interactiva desde la terminal o por python3 -i
desde la entrada estándar, pero sorprendentemente no desde una secuencia de comandos normal o sin -i
. Funciona mediante eval(...)
o compile(..)
esta manera:
exec(compile('1<>0', 'foo', 'single', __future__.CO_FUTURE_BARRY_AS_BDFL))
verdadera más divertido de lo horrible, !=
que causó dolor en los dedos
Excelente respuesta ya que explica que esto no "funciona" en un script normal. Pero no estoy seguro de qué pasa con la última ... oración? El formato y la puntuación se ven en parte broma, parte descuido, parte de vandalismo. No puedo decirlo. –
Ah, también, para aclarar: incluso si usa '-i', el script que se ejecuta antes de llegar al REPL debe seguir la sintaxis normal de Python 3, o obtendrá un error de sintaxis. Y si obtiene un error de sintaxis en el script, entonces el REPL se comportará como si nunca hubiera importado. (Solo tienes que volver a hacerlo en el REPL, pero eso no sirve para ponerlo en tu guión, en primer lugar). Está bien si el guión plantea (¿la mayoría?) Otros tipos de excepciones; la importación seguirá en vigencia cuando sea descargado al REPL en ese caso. –
Como se mencionó anteriormente, Barry es Barry Varsovia, un conocido Python Dev Core Sin embargo, el FLUFL no ha sido explicado
Significa "Friendly Language Uncle For Life" una broma interna entre los otros desarrolladores de python core en ese momento. La razón por la que esto habilita la sintaxis <>
es que él era la persona principal que quería usar el operador <>
Simplemente presumiendo aquí, pero asistí a un Hackathon Core Python con Barry y nos divertimos compartiendo historias divertidas :) Esto es similar al Dictador benévolo para Vivir (BDFL) de Guido van Rossum. Él es un tipo realmente agradable :) – MicroTransactionsMatterToo
- 1. ¿Qué versión de python necesita de __future__ import with_statement?
- 2. ¿Qué hace offsetLeftAndRight() exactamente?
- 3. ¿Qué importa exactamente la importación "import *"?
- 4. ¿Qué hace pg_escape_string exactamente?
- 5. ¿Qué hace exactamente Panel.IsItemsHost?
- 6. ¿Qué hace exactamente org.apache.commons.lang.builder.CompareToBuilder?
- 7. ¿Qué hace fillMode exactamente?
- 8. ¿Qué hace exactamente 'bloqueo Mutex'?
- 9. ¿Qué hace exactamente System.Diagnostics.Process UseShellExecute?
- 10. ¿Qué hace exactamente android: layout_column?
- 11. ¿Qué hace exactamente removedOnCompletion = NO?
- 12. ¿Qué hace exactamente -march = native?
- 13. ¿Qué hace AFX_MANAGE_STATE (AfxGetStaticModuleState()) exactamente
- 14. ¿Qué es exactamente CDATA y qué hace?
- 15. ¿Qué hace exactamente Attach() en Entity Framework?
- 16. ¿Qué hace exactamente git rebase --skip do?
- 17. @ Scheduled & scheduler: ¿Qué hace exactamente pool-size?
- 18. ¿Qué hace exactamente + = do en python?
- 19. ¿Qué hace ReferenceLoopHandling.Ignore en Newtonsoft.json exactamente?
- 20. ¿Qué hace la directiva de uso, exactamente?
- 21. ¿Qué hace mvn instalar en maven exactamente?
- 22. ¿Qué hace exactamente la normalización en CSS?
- 23. exactamente qué hace rake db: migrate do?
- 24. ¿Qué hace exactamente el método .join()?
- 25. ¿Cómo saber qué hace exactamente Spring autowire?
- 26. ¿Qué hace exactamente un controlador de rack?
- 27. ¿Qué hace exactamente la grilla 960?
- 28. ¿Qué hace exactamente R CMD Sweave --pdf?
- 29. ¿Qué hace exactamente la instrucción BEQ?
- 30. ¿Qué hace NSHandlesContentAsCompoundValueBindingOption de Cocoa binding exactamente?
Gracias. Edité tu respuesta porque tenía un misteak obvio :) – tzot
Más importante aún, habilita la sintaxis '<>' en Python 3. –
El enlace dice que la sentencia 'print' también está de vuelta. – manojlds